koishi-plugin-ll-schedule 1.7.8 → 1.7.10
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/index.js +26 -6
- package/package.json +3 -1
package/index.js
CHANGED
|
@@ -653,6 +653,25 @@ function apply(ctx, config) {
|
|
|
653
653
|
return typeof code === 'number' && KNOWN_IGNORE_CODES.has(code)
|
|
654
654
|
}
|
|
655
655
|
|
|
656
|
+
// 把发送错误整理成可读的一行(含错误码与原始返回,便于定位问题)
|
|
657
|
+
function errDetail(e) {
|
|
658
|
+
const parts = []
|
|
659
|
+
if (e && e.message) parts.push(e.message)
|
|
660
|
+
if (e && e.code) parts.push(`code=${e.code}`)
|
|
661
|
+
const data = e && e.response && e.response.data
|
|
662
|
+
if (data) {
|
|
663
|
+
const c = data.code !== undefined ? data.code : data.err_code
|
|
664
|
+
if (c !== undefined) parts.push(`apiCode=${c}`)
|
|
665
|
+
if (data.message) parts.push(`msg=${data.message}`)
|
|
666
|
+
try {
|
|
667
|
+
parts.push(JSON.stringify(data).slice(0, 300))
|
|
668
|
+
}
|
|
669
|
+
catch (x) { /* 忽略序列化失败 */ }
|
|
670
|
+
}
|
|
671
|
+
if (!parts.length) parts.push(String(e))
|
|
672
|
+
return parts.join(' | ')
|
|
673
|
+
}
|
|
674
|
+
|
|
656
675
|
async function sendOne(bot, target, text, { markdown, image }) {
|
|
657
676
|
if (markdown && bot.platform === 'qq' && bot.internal && typeof bot.internal.sendMessage === 'function') {
|
|
658
677
|
const md = buildMd(text, image)
|
|
@@ -663,10 +682,10 @@ function apply(ctx, config) {
|
|
|
663
682
|
}
|
|
664
683
|
catch (e) {
|
|
665
684
|
if (isKnownIgnoreError(e)) {
|
|
666
|
-
|
|
685
|
+
logger.warn(`[schedule] 主动消息受限,未发出 (${bot.sid}:${target}) ${errDetail(e)}`)
|
|
667
686
|
return false
|
|
668
687
|
}
|
|
669
|
-
logger.warn(`[schedule] markdown 发送失败,回退纯文本 (${bot.sid}:${target})
|
|
688
|
+
logger.warn(`[schedule] markdown 发送失败,回退纯文本 (${bot.sid}:${target}): ${errDetail(e)}`)
|
|
670
689
|
}
|
|
671
690
|
}
|
|
672
691
|
const parts = []
|
|
@@ -727,7 +746,7 @@ function apply(ctx, config) {
|
|
|
727
746
|
if (config.verbose) logger.info(`[schedule] 已发送任务 "${name}" 到 ${bot.sid}:${target}`)
|
|
728
747
|
}
|
|
729
748
|
catch (e) {
|
|
730
|
-
logger.error(`[schedule] 发送到 ${bot.sid}:${target} 失败: ${e
|
|
749
|
+
logger.error(`[schedule] 发送到 ${bot.sid}:${target} 失败: ${errDetail(e)}`)
|
|
731
750
|
}
|
|
732
751
|
}
|
|
733
752
|
for (const target of subTargets) {
|
|
@@ -752,7 +771,7 @@ function apply(ctx, config) {
|
|
|
752
771
|
if (config.verbose) logger.info(`[schedule] 已发送任务 "${name}" 到 ${bot.sid}:${g.guildId}`)
|
|
753
772
|
}
|
|
754
773
|
catch (e) {
|
|
755
|
-
logger.error(`[schedule] 发送到 ${bot.sid}:${g.guildId} 失败: ${e
|
|
774
|
+
logger.error(`[schedule] 发送到 ${bot.sid}:${g.guildId} 失败: ${errDetail(e)}`)
|
|
756
775
|
}
|
|
757
776
|
}
|
|
758
777
|
}
|
|
@@ -793,10 +812,11 @@ function apply(ctx, config) {
|
|
|
793
812
|
try {
|
|
794
813
|
await sendOne(bot, target, text, { markdown, image })
|
|
795
814
|
sent++
|
|
796
|
-
|
|
815
|
+
// 记录"实际发出的内容首行 + 目标群",便于事后核对发错/漏发
|
|
816
|
+
logger.info(`[schedule] 已发出 → ${bot.sid}:${target}|${String(text).split('\n')[0].slice(0, 60)}`)
|
|
797
817
|
}
|
|
798
818
|
catch (e) {
|
|
799
|
-
logger.error(`[schedule] 提醒发送失败 ${bot.sid}:${target}: ${e
|
|
819
|
+
logger.error(`[schedule] 提醒发送失败 ${bot.sid}:${target}: ${errDetail(e)}`)
|
|
800
820
|
}
|
|
801
821
|
}
|
|
802
822
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "koishi-plugin-ll-schedule",
|
|
3
|
-
"version": "1.7.
|
|
3
|
+
"version": "1.7.10",
|
|
4
4
|
"description": "BNS activity reminder: one activity table, one-click subscribe, auto reminders with time/place/next-up, QQ official markdown card support",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"files": [
|
|
@@ -18,3 +18,5 @@
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
|