XYBot是一个基于Python,以Lagrange为基础的QQ机器人框架,旨在简化创建自定义QQ机器人的过程。该框架提供了丰富的功能和工具,以便你能够轻松地构建各种各样的QQ机器人应用。
- 简单易用的API:适合初学者和有经验的开发者
- 灵活的插件系统:允许用户轻松扩展机器人功能
- 丰富的机器人API:包括发送消息、管理群组、获取用户信息等
- 异步高性能:采用asyncio实现高并发处理能力
- 完整的事件系统:支持消息、通知、请求等多种事件类型
- 智能日志系统:提供彩色日志输出和分类记录
- Python 3.9+
- Windows/Linux
- 克隆项目到本地:
git clone https://github.com/Thexiaoyuqaq/XYBot.git
cd XYBot- 安装依赖:
pip install -r requirements.txt- 从 NapCat Releases 获取最新版
- (1):将下载后的
NapCat.Shell.Windows.Node.zip放入项目根目录并解压单独文件夹 - (2):再下载 9.9.26-44343 X64 Win
- 先安装 QQ 9.9.26-44343
- 然后启动 NapCat,扫码进行登录
- 通过 控制台输出的WebUI 打开浏览器面板点击 网络配置
- 添加一个 HTTP服务器 及 Websockets服务器 (记住端口)
- 在项目根目录下运行:
python main.py- 按照控制台提示逐步填写 HTTP-API-PORT,WebSocket-PORT 相关配置项
- 填写完成后,程序自动退出,请重新运行
- 等待出现连接成功的提示
XYQBOT采用模块化架构,主要包括以下几个核心组件:
- 主程序 (
main.py): 机器人主程序,负责整个生命周期管理,包括WebSocket连接、消息处理、插件管理等 - 插件管理器 (
utils/Manager/Plugin_Manager.py): 负责插件的加载、卸载、重载和事件分发 - 事件管理器 (
utils/Manager/Event_Manager.py): 负责事件的接收、处理和分发到对应的插件 - API层 (
utils/Api/): 提供与机器人交互的API接口,包括Bot_API、Command_API和Plugin_API - 日志系统 (
utils/Manager/Log_Manager.py): 提供彩色日志输出功能和分类记录 - 消息处理器 (
utils/MessageNew/): 负责将原始消息转换为标准化格式 - 配置管理器 (
utils/Manager/Config_Manager.py): 负责管理主配置和连接配置
这种架构设计使XYQBOT具有高度的可扩展性和灵活性,开发者可以轻松地添加新功能而不影响核心系统。
XYQBOT提供了丰富的API接口,用于与QQ机器人进行交互。这些API遵循OneBot标准,支持常见的机器人操作。
更多API详情请参阅 API文档
XYQBOT采用事件驱动架构,支持多种类型的事件。插件可以通过实现特定的事件处理方法来响应不同的事件。
更多事件详情请参阅 事件文档
XYQBOT提供了强大的插件系统,允许用户通过编写插件来扩展机器人功能。插件系统具有以下特点:
- 热加载/卸载: 支持在不停机的情况下动态加载和卸载插件
- 事件驱动: 支持多种事件类型,包括消息事件、通知事件和请求事件
- 生命周期管理: 支持插件启动和停止事件,便于资源管理
- 统一API: 所有插件都可以通过统一的API接口与机器人交互
插件位于 plugins/ 目录下,每个插件都是一个独立的Python文件,实现了特定的接口。系统内置插件管理命令,可通过群聊指令管理插件。
详细插件开发指南请参阅 插件开发文档
{
"main": {
"Debug": "False",
"master_qq": "123456"
}
}{
"perpetua": {
"host": "127.0.0.1",
"http_api_port": 8083,
"websocket_port": 8080,
"suffix": "/"
}
}A: 在 plugins 目录下创建新的 .py 文件,按照插件结构编写代码即可。
了解更多关于XYQBOT的信息,请查阅以下文档:
- API参考 - 详细的API接口说明
- 事件系统 - 事件处理机制和可用事件
- MessageAPI参考 - MessageAPI接口详细说明
- 插件开发指南 - 如何开发和管理插件
-
提交Bug报告:如果您发现了任何问题或错误,请创建一个Bug报告来帮助我们改进。
-
实现新的功能:如果您有新功能的想法,欢迎提交一个功能请求。我们欢迎社区的贡献。
-
分享这个项目:如果您喜欢这个项目,不妨在社交媒体上分享它,帮助我们扩大项目的影响力。谢谢您的支持!
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
这个项目基于 Creative Commons 许可证开源。
感谢所有为XYQBOT项目做出贡献的开发者们!
