koishi-plugin-kkk 3.3.2 → 3.4.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/CHANGELOG.md CHANGED
@@ -1,5 +1,55 @@
1
1
  # 更新日志
2
2
 
3
+ ## 3.4.0
4
+
5
+ > 这一版修的都是「用起来别扭」的地方:图片不再重复发、面板不再和卡片挤在一起、
6
+ > 出错时发什么由你决定、控制台里的设置终于都能看懂了。
7
+
8
+ ### 图片不会再发两张了
9
+
10
+ - 以前机器人发大图时,如果适配器 15 秒还没返回,它会认为「没发出去」,于是切成几片再发一遍 —— 结果群里出现两张(第一张其实发出去了)。
11
+ 现在 15 秒只在日志里写一句「还在传」,120 秒才怀疑卡住,再给 30 秒等结果;真等不到也不会重试(以前小图还会连发三次)。
12
+
13
+ ### 解析面板:卡片和选择表分开
14
+
15
+ - 信息卡片单独一条消息,选清晰度 / 选第几集的那张表单独一条。
16
+ - 你点完按钮之后,机器人**只撤回那张表**,卡片还在群里留着;只有你下次再发链接(出新卡片)时,旧卡片才会被撤掉。
17
+ - 番剧翻页也一样:只换表格,不会因为翻几页就在群里堆一排卡片。
18
+
19
+ ### 出错的时候:上报照旧,发什么你说了算
20
+
21
+ - 新增开关「**出错只发文字(不渲染错误卡片)**」(面板 → 通用 → 错误上报,默认关闭)。
22
+ 打开后出错只在群里发一行:错误信息已上传,ID:xxx —— 上传的东西一点不少,只是省掉十几秒渲染和一张几 MB 的大图。
23
+ - 以前错误提示里那个加群链接是拿群号拼的,点开是 404;现在换成真正的加群链接,能直接点进去。
24
+ - 以前遇到「一行日志里塞了几 MB 的图片数据」这种报错,错误卡片要渲染十几分钟、最后还发不出去;现在这种超长内容会自动折起来,几秒钟出图。
25
+
26
+ ### 控制台里的设置终于都能看懂了
27
+
28
+ - Koishi 控制台的插件配置页里,200 多项设置全部显示、全部展开,不用点折叠;
29
+ - 所有说明都改成了给用户看的说法,去掉了 **加粗**、反引号这类符号(控制台是按纯文本显示的,写了只会看到一堆星号);
30
+ - 面板里那个「合并转发(哔哩哔哩)」的重复后缀也去掉了 —— 分类名本来就写着平台名。
31
+
32
+ ### 不再因为「慢」就白丢内容
33
+
34
+ - 小红书拉评论、拉表情以前到点就放弃(评论区会变成「无法获取评论数据」)。现在 15 秒(表情 8 秒)只在日志里提示,60 秒(表情 30 秒)才怀疑挂住,再给一段宽限等结果 —— 接口只是慢的时候,评论照样能出来。
35
+
36
+ ### 顺手修掉的几个老毛病
37
+
38
+ - 同一条卡片消息被 QQ 重复投递时只处理第一遍(以前会 OCR、搜索各跑两遍,看起来就是「解析完了又解析一遍」)。
39
+ - 快手、小红书一发链接就报错的 bug(这两个平台调用了一个没导入的函数)。
40
+ - 「强制在线播放的适配器」等几个设置以前是**静默失效**的,配了也不生效,现在真的生效了。
41
+ - 不支持的适配器不再尝试合并转发(B站私聊那种适配器没有聊天记录功能,以前会整条发不出去)。
42
+ - 播放链接显示「已过期」时,日志里会说清楚原因:多半是同机另一台机器人抢占了播放器端口,域名连到了那一台。
43
+
44
+ ---
45
+
46
+ ## 3.3.3
47
+
48
+ ### 同一条卡片消息不再解析两遍
49
+
50
+ - **卡片消息被重复投递时只处理第一遍**:QQ 会把同一次发送投递多遍(客户端重发、指令按钮 = 消息 + 交互事件),实测同一条 B站卡片会在几秒内进来两次 —— 于是 OCR + 搜索各跑两遍、面板也可能发两条,看起来就是「解析完了又解析一遍」。现在卡片这条链路在 OCR **之前**就去重(按「平台 + 频道 + 用户 + 卡片正文」),并且**先把图片链接的签名参数去掉再比**:同一条卡片重投时链接会重新签名,直接拿原文比会当成两条不同的消息。
51
+ - 顺带加了排查用的 debug 日志:收到卡片时会打 `收到卡片消息(messageId=…,平台=…)`,同一条卡片的两次投递 messageId 是否相同,一眼就能看出是平台重复投递还是别的插件又发了一遍。
52
+
3
53
  ## 3.3.2
4
54
 
5
55
  > 修 3.3.1 的一个**致命笔误**:播放器模块里一行 import 多写了一层 `..`,导致插件在**加载时**就失败(`Cannot find module '../../compat/runtime'`),整个插件都起不来。构建链路只做转译不解析路径,所以当时没拦住 —— 现在补了一个「每个编译产物都 require 得动」的自测(scripts/smoke-require.cjs)。