Repository navigation
Releases
Releases · RandyLuaW/astrbot_plugin_msg_debounce
v1.0.0 首个开源版本
消息防抖 v1.0.0
首个开源版本。把同一个人短时间连发的多条消息合并成一条再处理 —— 连发三句只触发一轮 LLM 回复。
群聊里常见的「在吗 / 问你个事 / 那个插件怎么配」三条消息,开启后合并成一条,模型一次答完,不再出现「在的」「你说」这类无意义的中间回复。
功能
- 连发合并:同一个人在
listen_seconds窗口内的多条消息合并成一条 - 不重复触发:批次 token 机制保证同一批次只有一个事件继续往下走,其余主动
stop_event()让位 - 条数上限:达到
max_merge_count立即带全部内容发出,长串消息不会被无限延迟 - 豁免规则:被 @、指令(可配前缀)、含 GIF 的消息默认立即放行
- 范围可选:
group只合并群聊,all群聊私聊都合并 - 非文本保留:图片、@、表情等消息段原样拼接,不只是拼文字
- 批次自清理:超过 64 个活跃批次时按 TTL 回收,长期运行不堆内存
设计取舍
只注册一个消息钩子(priority=9999),不注册 LLM 工具、不改回复格式、不碰 AstrBot 内部 runner。优先级刻意低于 tattle 的封禁门(10000),让被封禁用户的消息先被拦掉;高于主动回复插件与记忆插件,保证它们只看到合并后的那一条。
安装
下载下方 astrbot_plugin_msg_debounce-v1.0.0.zip,AstrBot WebUI → 插件管理 → 上传安装。
或在插件市场搜索「消息防抖」。
兼容性
| 项 | 值 |
|---|---|
| AstrBot | >= 4.17.0 |
| 平台 | aiocqhttp |
| Python | 3.10+ |
校验
SHA256 32d3dcfef890a0ac7c960c1c56442b34c9eaa2a8fba2bfc7a4f61d8da684ac4b
大小 54549 bytes (53.3 KB)
完整变更见 CHANGELOG.md。