bs消息处理插件
What is BotShepherd
🐑BotShepherd是一个基于OneBot v11协议WebSocket代理和管理系统,统一管理和协调多个Bot实例,实现一对多的连接管理、消息统计、跨框架黑名单、全框架分群组功能开关和别名防冲突。
人话:一个账号只需要一个ws连接接入本系统,就可以自由的连接到下游框架。本系统可以方便的统计单个账号消息量,管理黑名单,进行指令转化等。你不再需要为每个账号创建一个Nonebot或配置账号数量x框架数量个ws连接
核心Feature
- 每账号消息量,跨框架黑名单,每Bot、每群、全局可以将原有指令别名,不同名称的Bot不再需要为了一个指令名称单开框架
- 触发指令:自己上号或主人在群里,通过指令帮助其他用户执行任何指令(bs触发 123456 some_command),避免红温
- 支持对接其他系统,可自动化更新群组到期时间等
项目地址
https://github.com/syuan326/bs_plugin_message_filter
项目结构
init.py:插件导出入口。负责通过Monkey Patch技术将规则处理逻辑注入到系统的FilterManager中,确保所有外发消息都能经过过滤。
plugin.py:核心业务逻辑层。包含规则的加载、保存、单条规则的应用逻辑以及插件类的定义。
rules.json:配置文件(自动生成)。存储具体的过滤规则和全局启用状态。
核心过滤规则
enabled: 插件启停开关 第一层是OneBot消息类型 第二层是具体操作 第三层是操作参数
1 | { |
规则处理变量的位置
在plugin.py第192行到第200行间,segments变量是捕获到的原始消息体,new_segments是处理过的消息体
鸣谢
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Pardofelis!
评论




