koishi-plugin-cs2-update-log 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -14,7 +14,7 @@ Koishi QQ 机器人插件,用于轮询 CS2 官方 Steam 公告流,按 `gid`
14
14
  - 或正文包含 `[MAPS]`、`[GAMEPLAY]`、`[MISC]`、`[AUDIO]`、`[ITEMS]`、`[WORKSHOP]`、`[PREMIER]` 等更新分区
15
15
  - 支持纯文本推送或 Puppeteer 深色长图卡片推送。
16
16
  - 支持 OpenAI-compatible Chat Completions API 翻译。
17
- - 提供 `cs2log.check` 与 `cs2log.push` 命令。
17
+ - 提供 `cs2log.check`、`cs2log.push` 与 `cs2log.test` 命令。
18
18
 
19
19
  ## 配置要点
20
20
 
@@ -26,3 +26,4 @@ Koishi QQ 机器人插件,用于轮询 CS2 官方 Steam 公告流,按 `gid`
26
26
 
27
27
  - `cs2log.check`:查看最近 5 条新闻的分类结果。
28
28
  - `cs2log.push`:手动检查并推送新内容。
29
+ - `cs2log.test`:测试推送最近 2 条新闻,不写入判重 state。
package/lib/index.js CHANGED
@@ -48,6 +48,7 @@ const markdown = new markdown_it_1.default({
48
48
  const rssParser = new fast_xml_parser_1.XMLParser({
49
49
  ignoreAttributes: false,
50
50
  parseTagValue: false,
51
+ processEntities: false,
51
52
  trimValues: true,
52
53
  });
53
54
  const updateTitlePattern = /\b(?:Counter-Strike 2 Update|Release Notes)\b/i;
@@ -299,6 +300,17 @@ function apply(ctx, config) {
299
300
  const pushed = await pollAndPush('manual');
300
301
  return pushed ? `已推送 ${pushed} 条新的 CS2 官方新闻。` : '没有发现新的 CS2 官方新闻。';
301
302
  });
303
+ ctx.command('cs2log.test', '测试推送最近 2 条 CS2 官方新闻')
304
+ .action(async () => {
305
+ const items = await fetchNews();
306
+ const testItems = items.slice(0, 2).reverse();
307
+ if (!testItems.length)
308
+ return '没有拉取到可测试推送的 CS2 官方新闻。';
309
+ for (const item of testItems) {
310
+ await pushNews(classifyNews(item));
311
+ }
312
+ return `已触发 ${testItems.length} 条 CS2 官方新闻测试推送。本次测试不会写入 gid 判重 state。`;
313
+ });
302
314
  ctx.on('ready', () => {
303
315
  void loadState()
304
316
  .then(() => pollAndPush('startup'))
@@ -322,7 +334,7 @@ function classifyNews(item) {
322
334
  };
323
335
  }
324
336
  function parseRssItem(item) {
325
- const title = readXmlText(item.title);
337
+ const title = decodeHtmlEntities(readXmlText(item.title));
326
338
  const url = readXmlText(item.link);
327
339
  const guid = readXmlText(item.guid);
328
340
  const gid = extractNewsGid(guid) || extractNewsGid(url);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "koishi-plugin-cs2-update-log",
3
- "version": "2.0.0",
3
+ "version": "2.1.0",
4
4
  "description": "Koishi plugin for monitoring CS2 official Steam announcements and update logs.",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",