本项目仍处于内部开发阶段,暂不提供部署方法和详细文档,本仓库暂时为不定期更新的预览发布渠道。如需了解更多信息,欢迎添加我们的QQ群:1077732596
ZHRrobot 是一个基于 WebSocket 的 QQ 机器人项目,采用模块化设计,支持多账号、插件系统、命令系统等高级功能。项目使用 Python 异步编程,提供高效、可扩展的机器人框架。
本项目(TrJam)是基于ZHRrobot底层框架开发的,继承了其核心功能和模块,并延展了大量功能。
- 通过 MultiWebSocketManager 管理多个账号的 WebSocket 连接
- 基于优先级的故障转移机制
- 心跳监控和自动重连
- 多阶段、可扩展的消息处理架构
- 支持命令检测、预处理、后处理等多个阶段
- 模块化设计,易于扩展
- 丰富的内置命令(音乐、聊天、名言等)
- 支持中文命令别名
- 基于配置的权限管理
- 命令禁用机制
- 基于事件驱动的插件架构
- 支持插件的动态加载、卸载和重载
- 插件间通信通过事件总线和服务注册表
- 完整的插件生命周期管理
- 独立进程的子机器人
- 通过 WebSocket 与主机器人通信
- 自动发现和启动子机器人
- 进程监控和自动重启
- 敏感词检测和处理
- 黑名单机制
- 权限控制
- 输入验证和参数过滤
- 音乐搜索和播放(支持网易云、QQ音乐、歌曲宝)
- 图像处理和识别
- 名言图片生成
- 腿照识别和精华设置
- YAML 格式的配置文件
- 配置热更新和监控
- 分层配置(全局、服务器、群组)
- 配置验证机制
- Python 3.8+:主要开发语言
- 异步编程:使用 asyncio 实现异步操作
- WebSocket:与 OneBot 协议通信
- YAML:配置文件格式
- Playwright:浏览器自动化
- 插件架构:基于事件总线的插件系统
项目仍在内部开发阶段,暂无快速部署方法
- 命令以
/开头 - 支持参数传递
- 部分命令支持子命令
plugins/
└── your_plugin/
├── plugin.yml # 插件元信息
├── main.py # 插件主模块
└── ... # 其他文件
name: Your Plugin
version: 1.0.0
description: A sample plugin
author: Your Name
entry_point: main:YourPlugin
dependencies:
python:
- requests
plugins:
- base_plugin
commands:
- name: yourcommand
description: Your command description
usage: /yourcommand [args]
permission: user
events:
- type: message.group
priority: 10
handler: on_group_messagefrom plugin_system import PluginBase, PluginContext
class YourPlugin(PluginBase):
def on_load(self, context: PluginContext):
# 插件加载时调用
pass
def on_enable(self, context: PluginContext):
# 插件启用时调用
pass
def on_disable(self, context: PluginContext):
# 插件禁用时调用
pass
def on_unload(self, context: PluginContext):
# 插件卸载时调用
pass
async def on_group_message(self, context: PluginContext, message):
# 处理群消息事件
passsubbot/
└── your_subbot/
├── subbot.yml # 子机器人元信息
├── __init__.py # 子机器人入口
└── ... # 其他文件
name: Your SubBot
version: 1.0.0
description: A sample subbot
author: Your Name
entry_point: __init__.py:main
startup: true
requirements:
- requests
supported_features:
- message_processing
- group_message
permissions:
- send_message
- receive_message
config:
option1: value1
metadata:
created_at: 2023-01-01
updated_at: 2023-01-01
compatible_version: ">=3.5.0"- accounts:账号配置列表
- servers:服务器配置列表
- plugin_system:插件系统配置
- subbot:子机器人配置
- sensitive_words:敏感词配置
- commands:命令配置
- ....
- command_mappings:命令映射和别名
- command_categories:命令分类
- permission_levels:权限级别配置
- ....
- browser_type:浏览器类型
- executable_path:浏览器可执行文件路径
- args:浏览器启动参数
- headless:是否无头模式
- ....
- 日志文件位于
logs目录 - 支持不同级别的日志(DEBUG, INFO, WARNING, ERROR, CRITICAL)
- 插件有独立的日志器
本项目采用 GPL-3 许可证,详见 LICENSE 文件。
- 支持多账号故障转移
- 完善的插件系统
- 丰富的内置命令
- 子机器人系统
- 多媒体处理功能
- 项目地址:ZHRrobot GitHub
- 开发者邮箱:admin@zhrhello.topadmin@zhrhello.top