koishi-plugin-cs2-update-log 2.1.0 → 2.1.1
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 +1 -1
- package/lib/index.js +11 -5
- package/package.json +1 -1
package/README.md
CHANGED
package/lib/index.js
CHANGED
|
@@ -157,15 +157,18 @@ function apply(ctx, config) {
|
|
|
157
157
|
polling = false;
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
async function
|
|
160
|
+
async function buildNewsContent(news) {
|
|
161
161
|
const link = getNewsLink(news.item);
|
|
162
162
|
const baseMarkdown = steamContentToMarkdown(news.item.content);
|
|
163
163
|
const translated = await maybeTranslate(news.item.title, baseMarkdown);
|
|
164
164
|
const displayTitle = translated.title || news.item.title;
|
|
165
165
|
const displayMarkdown = translated.markdown || baseMarkdown;
|
|
166
|
-
|
|
166
|
+
return config.picture
|
|
167
167
|
? await renderOrFallbackText(news, displayTitle, displayMarkdown, link)
|
|
168
168
|
: buildTextMessage(news, displayTitle, displayMarkdown, link);
|
|
169
|
+
}
|
|
170
|
+
async function pushNews(news) {
|
|
171
|
+
const content = await buildNewsContent(news);
|
|
169
172
|
if (!config.targets.length) {
|
|
170
173
|
logger.warn('未配置推送目标,已跳过:%s', news.item.title);
|
|
171
174
|
return;
|
|
@@ -301,15 +304,18 @@ function apply(ctx, config) {
|
|
|
301
304
|
return pushed ? `已推送 ${pushed} 条新的 CS2 官方新闻。` : '没有发现新的 CS2 官方新闻。';
|
|
302
305
|
});
|
|
303
306
|
ctx.command('cs2log.test', '测试推送最近 2 条 CS2 官方新闻')
|
|
304
|
-
.action(async () => {
|
|
307
|
+
.action(async ({ session }) => {
|
|
308
|
+
if (!session?.bot || !session.channelId)
|
|
309
|
+
return '测试指令需要在可发送消息的会话中使用。';
|
|
305
310
|
const items = await fetchNews();
|
|
306
311
|
const testItems = items.slice(0, 2).reverse();
|
|
307
312
|
if (!testItems.length)
|
|
308
313
|
return '没有拉取到可测试推送的 CS2 官方新闻。';
|
|
309
314
|
for (const item of testItems) {
|
|
310
|
-
await
|
|
315
|
+
const content = await buildNewsContent(classifyNews(item));
|
|
316
|
+
await session.bot.sendMessage(session.channelId, content);
|
|
311
317
|
}
|
|
312
|
-
return
|
|
318
|
+
return `已向当前会话触发 ${testItems.length} 条 CS2 官方新闻测试推送。本次测试不会写入 gid 判重 state。`;
|
|
313
319
|
});
|
|
314
320
|
ctx.on('ready', () => {
|
|
315
321
|
void loadState()
|
package/package.json
CHANGED