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.
Files changed (2) hide show
  1. package/index.js +26 -6
  2. 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
- if (config.verbose) logger.debug(`[schedule] 主动消息受限 (code=${errCode(e)}),跳过 ${bot.sid}:${target}`)
685
+ logger.warn(`[schedule] 主动消息受限,未发出 (${bot.sid}:${target}) ${errDetail(e)}`)
667
686
  return false
668
687
  }
669
- logger.warn(`[schedule] markdown 发送失败,回退纯文本 (${bot.sid}:${target}):`, e.message || e)
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.message}`)
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.message}`)
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
- if (config.verbose) logger.info(`[schedule] 提醒已发 ${bot.sid}:${target}`)
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.message}`)
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.8",
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
+