Skip to content

XYBOT - 开源高自由度的QQ机器人框架!一款基于Python连接Lagrange框架,基于OneBot V11 标准

License

Notifications You must be signed in to change notification settings

Thexiaoyuqaq/XYBot

XYQBOT机器人框架2.0 - Python

XYQBOT

简介

XYBot是一个基于Python,以Lagrange为基础的框架,旨在简化创建自定义QQ机器人的过程。该框架提供了丰富的功能和工具,以便你能够轻松地构建各种各样的QQ机器人应用。

功能特点

  • 简单易用的API,适合初学者和有经验的开发者。
  • 自定义插件系统,允许用户轻松扩展机器人功能。
  • 丰富的机器人API,包括发送消息、管理群组、获取用户信息等。
  • API适配,让你在更换了平台但是你的插件无需变动,通用使用。

实现

已实现 API

符合 OneBot 标准的 API

API 功能
/send_group_msg 发送群消息
/set_group_card 设置群名片
/get_group_info 获取群信息
/delete_msg 撤回消息
/set_group_add_request 操作加群请求
/set_friend_add_request 操作好友请求
等待适配 ..
插件调度器

符合 OneBot 标准的 插件调度器

人话:支持传入插件的事件

  • 聊天消息 (群聊消息,好友消息)
  • 事件消息 (荣誉,戳一戳,禁言...)
  • 请求消息 (加群请求,退群请求)
  • 插件管理器(启动/卸载)

快速开始

安装

  1. 克隆这个项目到你的本地环境:

    git clone [email protected]:Thexiaoyuqaq/XYBot.git
    cd XYBot
    

2.安装项目依赖:

pip install -r requirements.txt

配置 Lagrange 连接

  1. 从Action获取最新版Lagrange

  2. 将下载后的Lagrange.OneBot.exe放入XYBOT-2.0/bot/内

  3. 通过命令行运行Lagrange,并按照要求扫码登录,成功登录后关闭控制台

  4. 配置修改:找到appsettings.json文件中Implementations部分,添加如下内容,记得将上方的}后方加一个,(逗号)

    {
       "Type": "Http",
       "Host": "*",
       "Port": 8083, 
       "AccessToken": ""
    }
    

    注:记住port端口,这里是HTTP-API的配置

    (!!)(2)3.将自带的"Type": "ReverseWebSocket", 修改为 "Type": "ForwardWebSocket",

    完整修改:

    "Implementations": [
     {
         "Type": "ForwardWebSocket",
         "Host": "127.0.0.1",
         "Port": 8080,
         "Suffix": "/onebot/v11/ws",
         "ReconnectInterval": 5000,
         "HeartBeatInterval": 5000,
         "AccessToken": ""
     },
     {
         "Type": "Http",
         "Host": "*",
         "Port": 8083, 
         "AccessToken": ""
     }

]



### 3. 机器人环境配置

1. 在项目根目录下, 通过命令行运行main.py
```bash
python main.py

按照控制台输出的提示信息 并逐步填写 HTTP-API-PORT,WebSocket-PORT相关配置项 填写完成后,程序自动退出,请重新运行,待出现

插件系统

XYBot提供了一个强大的插件系统,允许用户自定义和扩展机器人的功能。你可以轻松编写自己的插件,并将其添加到机器人中。以下是如何编写和使用插件的示例:

编写自定义插件

MessageApi更多数据API 详见:Plugin_Api.py

Api 更多数据API 详见:Command_Api.py

1.在项目的 Plugins 目录下创建一个新的Python文件,例如 MyPlugin.py。

2.按照需求编写你的插件以完善你所需要的功能,以下是一个基础的示例: 请见 example.py

更多获取数据接口详见: Plugin_Api

待完成事项

  • 完善机器人对接框架的对接度
  • 制作WIKI页面
  • 把插件的固定函数修改为装饰器
  • 完善插件管理器,例如插件信息,插件依赖等功能

已完成事项

  • 切换至NTQQ框架
  • 整理项目结构
  • 将API接口内容移植到Api函数下
  • 项目实现异步并且线程优化
  • 完善README和issues模板
  • 排版日志输出(人话:一个日志输出系统)
  • 格式化(排版)代码
  • 制作一个插件管理器,使得机器人支持加载插件

许可证

这个项目基于 Creative Commons 许可证 开源。

作者

小雨: [email protected]

贡献

你可以通过以下方式为项目做出贡献:

  • 提交Bug报告:如果您发现了任何问题或错误,请创建一个Bug报告来帮助我们改进。

  • 实现新的功能:如果您有新功能的想法,欢迎提交一个功能请求。我们欢迎社区的贡献。

  • 分享这个项目:如果您喜欢这个项目,不妨在社交媒体上分享它,帮助我们扩大项目的影响力。谢谢您的支持!

About

XYBOT - 开源高自由度的QQ机器人框架!一款基于Python连接Lagrange框架,基于OneBot V11 标准

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages