Skip to content

This is a QQBot (framework?) based on python adapted to the onebot11 protocol. 一个基于python 适配onebot11协议的QQbot(框架?)

License

Notifications You must be signed in to change notification settings

xiaosuyyds/MuRainBot2

Repository files navigation

MuRain Bot2(MRB2)

GitHub issues GitHub stars GitHub forks GitHub license Badge

| 简体中文 | English |

这是一个基于python 适配onebot11协议的QQBot (框架?)

首先感谢您选择/使用了MRB2作为您的QQBot

此项目也可称作MuCloud Bot(MCB)

查看基本看目录结构
├─ data         MRB2及插件的临时/缓存文件
│   ├─ group  每个群的相关的缓存文件
│   │   ├─ 123  群号为123相关的缓存文件(示例)
│   │   ...
│   ├─ json     不属于某个单独群聊的MRB2及插件的json临时/缓存文件
│   ...
├─ Lagrange.Core    QQBot内核框架,此处以Lagrange.Core示例
├─ Lib          MRB2的Lib库,插件和MRB2均需要依赖此Lib
│   ├─ __init__.py     MRB2Lib
│   ├─ BotController.py   MRB2的Lib库之一,用于控制Bot
|   ├─ Configs.py      MRB2的Lib库之一,用于配置文件的一些功能
│   ├─ EventManager.py MRB2的Lib库之一,用于广播上报事件
│   ├─ FileCacher.py   MRB2的Lib库之一,用于缓存、读取文件
│   ├─ Logger.py       MRB2的Lib库之一,用于记录日志
│   ├─ MuRainLib.py    MRB2的Lib库之一,用于提供一些零七八碎的函数
│   ├─ OnebotAPI.py    MRB2的Lib库之一,用于调用OneBotAPI
│   ├─ QQRichText.py   MRB2的Lib库之一,用于解析/处理QQ消息
│   ├─ ThreadPool.py   MRB2的Lib库之一,用于多线程(线程池)处理
│   ...
├─ logs
│   ├─ latest.log       当日的日志
│   ├─ xxxx-xx-xx.log  以往的日志
│   ...
├─ plugins
│   ├─ xxx.py   xxx插件代码
│   ├─ yyy.py   yyy插件代码 
│   ...
├─ plugin_configs
│   ├─ pluginTemplates.py  插件模板
│   ├─ xxx.yml  xxx插件的配置文件
│   ├─ yyy.yml  yyy插件的配置文件
│   ...
├─ config.yml   MRB2配置文件
├─ main.py      MRB2代码(运行这个即可启动)
├─ README.md    这个文件就不用解释了吧(?)
└─ README_en.md No need to explain this file, right?

💻如何部署?

作者在python3.10编写、测试均未发现问题,其他版本暂未测试

  • 下载本项目的releases或源码包
  • 请下载python环境,并使用pip安装requirements.txt内的库
  • installer.py
    • 运行installer.py随后静待安装成功
    • 配置好之后运行先运行Lagrange.OneBot然后运行main.py即可
  • releases
    • 首先配置Lagrange.OneBot的config.yml内的账号密码,如有需要可以修改正反向HTTP端口
    • 随后配置一下MRB2的config.yml账号和QQ号
    • 配置好之后运行先运行Lagrange.OneBot然后运行main.py即可
  • 源码包
    • 自行配置框架,并修改正反向HTTP端口,与框架匹配
    • 随后配置一下MRB2的config.yml账号和QQ号
    • 配置好之后运行先运行框架然后运行main.py即可

📕关于版本

  • 目前MRB2版本为2.0.0-dev
  • 关于版本号与版本周的说明:
    • 版本号格式为<主版本>.<次版本>.<修订版本>-<特殊提醒/版本(如果有)> 例如2.0.0
    • 测试版版本号后统一添加-dev后缀 例如2.0.0-dev
    • 测试版本的版本周格式为<年份>W<周数><当周内更新的版本数A-Z排列> 例如29W10A
    • 正式版本的版本周格式为<年份>Y<周数>W 例如24Y09W

🧩插件

插件是MRB2的灵魂,没有插件的MRB2只是一个空壳

MRB2本身不具备任何实际上的功能,一切都需要编写插件来实现功能

MRB2插件编写规范

  • 插件名称采用大驼峰命名
  • 关于某个单独群聊相关的临时或缓存文件将以json或是数据库的形式存储在/data/group/<群号>目录下
  • 关于不属于某个单独群聊的临时或缓存文件将以json或是数据库的形式存储在/data/<存储方式>目录下
  • 临时或缓存文件将以以下方式命名<插件名称>-<用途>.xx
  • 插件的配置文件将存储在/plugin_configs目录下,并以插件名称命名,统一使用yml或yaml当作配置文件
  • 在此推荐插件写出详细的log日志,但是如果你硬不写我也没办法(
  • 若需要则可引用Lib库,推荐不要重复造轮子,但是如果你硬要我也没办法(
  • 需要在插件的头部写上一个类PluginInfo,详情请见插件模板 (才不是作者懒)
  • 为了调用插件可以创建一个函数main,详情请见插件模板 (才不是作者懒,好吧我就是懒)
  • 如果没有函数main则需要在初始化的时候自行注册各个事件响应的函数。
  • !!!注意上述所有目录除/plugins目录外均有可能未创建,请插件自行检测、创建!!!
  • 插件的代码请放在/plugins目录下,以插件名称命名,统一使用pypyc作为文件后缀

不过我们有一些我们自己制作的插件,后续可能会放在源码中或是releases中

❤️鸣谢❤️

请勿直接提交到master分支,请先提交到dev分支,随后再创建PR合并分支

感谢所有为此项目做出贡献的大大,你们的存在,让社区变得更加美好~!

感谢他们(鼓掌)!

以及特别鸣谢HarcicYangkaokao221为此项目提供了许多的帮助~

⭐StarHistory⭐

About

This is a QQBot (framework?) based on python adapted to the onebot11 protocol. 一个基于python 适配onebot11协议的QQbot(框架?)

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages