Mar-7th / March7th

March7th - 基于 NoneBot2 的崩坏:星穹铁道多功能机器人 Honkai: Star Rail bot based on NoneBot2.
https://march7th.xyz/zh/
GNU Affero General Public License v3.0
118 stars 11 forks source link

March7th

OneBot OneBot QQ

QQ Chat Grop

崩坏:星穹铁道多功能机器人(开发中),目前支持账号绑定、信息查询、Wiki 查询等功能。

本项目基于 Nonebot2,通过 nonebot-plugin-send-anything-anywhere 实现对 OneBot v11, OneBot v12, QQ, 开黑啦, Telegram, Feishu, Red 适配器的支持;使用 nonebot-plugin-orm 进行数据库管理。

安装

下载源码

使用 git clone https://github.com/Mar-7th/March7th.git下载压缩包 并解压,进入工程目录。

安装依赖

使用 Poetry 安装

如果未安装 poetry,先参考 文档 安装。

在项目根目录使用 poetry install 安装项目依赖。

运行 poetry shell 进入虚拟环境,继续后续操作。

使用 pip 安装

在项目根目录使用 python -m venv .venv 创建虚拟环境。

Linux / MacOS 使用命令 source .venv/bin/activate,Windows 使用命令 .venv\Scripts\activate 激活虚拟环境。

使用 pip install -r requirements.txt 安装项目依赖,此方式默认使用 TUNA 镜像源。

Bot 配置

配置协议端,具体参考 协议端配置

配置运行环境参数,如超级用户账号、bot 昵称等(可复制 .env.dev 文件到 .env.prod 后根据注释提示填入参数)。

使用 nb run 运行 Bot 程序。

给聊天机器人发送命令 srhelp 即可查看命令列表,如果配置的命令前缀不包含 "",则需要加上命令前缀。

常见问题

安装其他商店插件

机器人支持使用 nb-cli 安装其他 NoneBot 应用商店中的插件。

机器人本体兼容了 Pydantic v1 与 v2 版本,如安装其他插件后遇到 Pydantic 相关警告或报错,请考虑降级 Pydantic 至 v1 版本:

pip install --force-reinstall 'pydantic~=1.10'

添加公共 cookie

添加公共 cookie 后,用户可以无需绑定 cookie 就能使用 srinfo

添加公共 cookie 需要超级用户权限(在 .env.prod 中配置),发送 srpck [cookie],将 [cookie] 替换为实际的 cookie 内容。

协议端配置

QQ 机器人

需要在项目根目录运行命令 nb adapter install nonebot-adapter-qq

然后参考 QQ 适配器文档 进行适配器配置。

Lagrange.OneBot

参考 Lagrange.OneBot 文档 进行协议端安装与配置。

然后参考 OneBot V11 适配器文档 进行适配器配置。

OpenShamrock

参考 OpenShamrock 文档 进行协议端安装与配置。

然后参考 OneBot V11 适配器文档 进行适配器配置。

LLOneBot

参考 LLOneBot 文档 进行协议端安装与配置。

然后参考 OneBot V11 适配器文档 进行适配器配置。

Chronocat

此方式仅供存量旧版本用户使用。

参考 Chronocat 文档 进行协议端安装与配置。

然后参考 Red 适配器文档 进行适配器配置。

go-cqhttp

此方式不推荐新搭建 Bot 使用,请参考 迁移建议

在项目根目录运行命令 nb plugin install nonebot-plugin-gocqhttp

运行 Bot 程序后根据提示在网页端进行账号配置。

链接

本项目参考以下项目完成:

项目 / 插件名 描述 使用方式
Mar-7th/StarRailRes 崩坏:星穹铁道资源库 Icon 及攻略资源
CMHopeSunshine/LittlePaimon 小派蒙!基于 Nonebot2 的原神 QQ 机器人 米游社 API 接口参考
Genshin-bots/gsuid_core GsCore 插件核心部分 部分功能实现参考
MeetWq/pil-utils A simple PIL wrapper and text-to-image tool PIL 绘图辅助工具
nonebot/nonebot2 跨平台 Python 异步聊天机器人框架 Bot 框架
nonebot_plugin_saa 一个帮助处理不同 Adapter 消息的适配和发送的插件 Bot 消息发送实现
nonebot_plugin_orm SQLAlchemy support for NoneBot2 Bot 数据库管理