Skip to content

自定义词库回复 ​

(托着下巴眨眨眼)谁说教我说话很复杂?只要在群里告诉我“听到这个就回答那个”,我就会老老实实记在小脑瓜里啦!

自定义词库回复模块为 Eridanus 提供了免写代码、纯群聊交互式的问答录入机制。支持群独立词库(仅在当前群生效)与 Master 全局词库(所有群通用),并且引入了模糊匹配容错,哪怕群友打字多一个标点也能稳稳命中!

源码入口与核心配置 ​

  • 代码入口:run/auto_reply/main.py
  • 配置文件路径:run/auto_reply/config.yaml

配置片段非常简洁:

yaml
minimum_match_score: 88   # 模糊匹配最低相似度阈值(0~100)
分群词库权限: 0           # 录入本群词库所需的权限等级(0 表示普通群友均可录入)
全局词库权限: 9999        # 录入全局词库所需的权限等级(通常仅限 Master)
词库添加自动超时: 20      # 录入会话的等待超时时间(单位:秒)

源码里真正支持的触发指令 ​

词库采用对话会话状态机驱动,交互过程一气呵成:

指令格式示例作用说明
开始添加开始添加开启当前群专属词库录入会话(需满足分群词库权限)
*开始添加*开始添加开启全局词库录入会话(带星号,需满足全局词库权限)
结束添加结束添加主动退出当前词库录入会话
删除关键词 <词条>删除关键词 摸鱼删除当前群词库中指定的关键词
*删除关键词 <词条>*删除关键词 摸鱼删除全局词库中指定的关键词

交互添加流程演示 ​

  1. 群友发送:开始添加
  2. Bot 响应进入等待状态:“请发送你要录入的关键词~”
  3. 群友发送关键词,例如:下班了
  4. Bot 提示:“好的,现在请发送对应的回复内容(支持文字与图片)~”
  5. 群友发送回复内容,例如:好耶!今天辛苦啦,快去吃顿好的!
  6. Bot 提示保存成功,录入完成!

如果在整个交互过程中超过 词库添加自动超时(默认 20 秒)没有下一步动作,系统会自动取消录入。

如果你想做什么,应该改哪里? ​

  1. 群友乱教色情/违规词语,想限制普通群友录入:
    • 打开 run/auto_reply/config.yaml;
    • 将 分群词库权限 从 0 调高为 100 或 500,只让信任的管理录入词条。
  2. 群友打错一个字就匹配不上了:
    • 适当调低 minimum_match_score(例如从 88 改为 75),让模糊匹配更加宽松。
  3. 打字慢的群友总被提示超时取消:
    • 将 词库添加自动超时 改长一些,比如 30 或 60 秒。