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