复读鸡,从PallasBot单独拆分出来的插件版本
已兼容pydantic v1&v2
nb-cli
nb plugin install nonebot-plugin-pallas-repeater
pip
pip install nonebot_plugin_pallas_repeater
# 黑名单,会导致所有插件都不能响应该用户的命令
BLACKLIST=[]
# mongodb 相关配置,如无特殊需求,保持注释即可
# 使用 docker-compose 部署时,请将MONGO_HOST设置为 mongodb 容器 的 service 名称,如:MONGO_HOST=mongodb
MONGO_HOST=127.0.0.1
MONGO_PORT=27017
MONGO_USER=
MONGO_PASSWORD=
# 复读机功能相关参数,推荐保持注释
# answer 相关阈值,值越大,牛牛废话越少;越小,牛牛废话越多
ANSWER_THRESHOLD = 3
# answer 阈值权重
ANSWER_THRESHOLD_WEIGHTS = [7, 23, 70]
# 上下文联想,记录多少个关键词(每个群)
TOPICS_SIZE = 16
# 上下文命中后,额外的权重系数
TOPICS_IMPORTANCE = 10000
# N 个群有相同的回复,就跨群作为全局回复
CROSS_GROUP_THRESHOLD = 2
# 复读的阈值,群里连续多少次有相同的发言,就复读
REPEAT_THRESHOLD = 3
# 主动发言的阈值,越小废话越多
SPEAK_THRESHOLD = 5
# 说过的话,接下来多少次不再说
DUPLICATE_REPLY = 10
# 按逗号分割回复语的概率
SPLIT_PROBABILITY = 0.5
# 连续主动说话的概率
SPEAK_CONTINUOUSLY_PROBABILITY = 0.5
# 主动说话加上随机戳一戳群友的概率
SPEAK_POKE_PROBABILITY = 0.6
# 连续主动说话最多几句话
SPEAK_CONTINUOUSLY_MAX_LEN = 2
# 每隔多久进行一次持久化(秒)
SAVE_TIME_THRESHOLD = 3600
# 单个群超过多少条聊天记录就进行一次持久化,与时间是或的关系
SAVE_COUNT_THRESHOLD = 1000
# 保存时,给内存中保留的大小
SAVE_RESERVED_SIZE = 100
# tts 功能相关配置
# 声码器,可选值:pwgan_aishell3、wavernn_csmsc
TTS_VOCODER=pwgan_aishell3
默认安装jieba
, 加群较多、需要处理消息量大的用户可以自行安装jieba-fast
,以提升分词速度
插件会优先尝试导入jieba-fast
库,如果导入失败则使用jieba
库,无需手动修改代码
pip3 install jieba_fast
Windows下安装需要msvc编译器支持 Linux下安装需要build-essential
牛牛的功能就是废话和复读。牛牛几乎所有的发言都是从群聊记录中学习而来的,并非作者硬编码写入的。群友们平时怎么聊,牛牛就会怎么回,可以认为是高级版的复读机
牛牛有跨群功能,若超过 N 个群都有类似的发言,就会作为全局发言,在任何群都生效
从别的机器人(可能是其他群)那里学来的
你这机器人功能不错呀,现在牛牛也会了!
哈,是主动发言功能!内容同样从群聊里学来的!
正常聊天即可,牛牛会自动学。
如果想强行教的话,可以这样:
—— 牛牛你好
—— 你好呀
—— 牛牛你好
—— 你好呀
—— 牛牛你好
—— 你好呀
如此重复 3 次以上,下一次再发送 “牛牛你好”,牛牛即会回复 “你好呀”
群管理员 回复 牛牛说的那句话 “不可以” 或直接撤回对应的消息即可,同样的若超过 N 个群都禁止了这句话,就会作为全局禁止,在任何群都不发
牛牛喝酒
进入狂暴醉酒状态(bushi,废话会特别多,喝醉后不会响应用户命令(优先级为4以下的)- 随机修改自己的群名片为近期发言的人,夺舍!
原项目Pallas-Bot(高性能废物牛牛子)
本项目几乎所有代码都来源于原项目(包括README)