R.I.P.
介绍
一个基于 Nonebot2 和 go-cqhttp 开发,以 PostgreSQL 作为数据库的可爱 Bot
更多更详细的介绍请移步:
[使用文档] |
[项目地址]
前置准备
本教程默认采用 Ubuntu20 系统,其余系统可能细节会有不同,一定要在 root 用户下装,普通用户可能会出问题
安装 python
由于 Ubuntu20 自带 python3.8.10
,所以不提供安装指令,如果是其他系统请自行安装 python3.8
,3.9 也可
安装前置组件
国内机可额外运行下列命令将 pip 源换成清华源
sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
依次逐行运行:
sudo apt update && sudo apt install -y wget git screen ffmpeg #安装 ffmpeg
sudo apt install -y python3-pip #安装 pip
sudo pip install poetry #安装 poetry 虚拟环境
安装 PostgreSQL 数据库
确保 PostgreSQL 版本在 9.0
以上即可,这里有两种安装方法,推荐宝塔应用商店自带的 PostgreSQL 管理器
,方便数据库的备份和迁移。如果不想装宝塔,就用纯命令安装
宝塔安装
首先安装 PostgreSQL 管理器
安装完成后点击 「设置」,点 「版本管理」,安装
12.10
版本
点击 「数据库列表」,创建数据库
参数自定义,这里数据库名和用户名填
zhenxun
,密码填
password
,权限设置
所有人
至此数据库安装完毕
命令安装
若已在宝塔内安装,请勿重复安装!
运行下列命令安装数据库
sudo apt install -y postgresql postgresql-contrib
依次逐行运行下列命令创建数据库
sudo su - postgres
psql
CREATE USER zhenxun WITH PASSWORD 'password';
CREATE DATABASE zhenxun OWNER zhenxun;
exit
exit
安装前置依赖
整段复制运行:
sudo apt install -y \
libgl1 \
libglib2.0-0 \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libxkbcommon0 \
libxcomposite1 \
libxrandr2 \
libgbm1 \
libgtk-3-0 \
libasound2
安装中文字体
整段复制运行:
sudo apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
sudo fc-cache -f -v
go-cqhttp 部署
安装
先装 wget
sudo apt install -y wget
再装 go-cqhttp
,整段复制:
mkdir ~/go-cqhttp && \
cd ~/go-cqhttp && \
wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.1/go-cqhttp_linux_amd64.tar.gz -O go-cqhttp_linux_amd64.tar.gz && \
tar -zxvf go-cqhttp_linux_amd64.tar.gz
修改配置
输入下列命令先运行一次 go-cqhttp
cd ~/go-cqhttp && echo -e "3\n" | ./go-cqhttp
前面步骤没错的话会出现以下界面:
之后修改
/root/go-cqhttp/config.yml
,将
universal
参数改成
ws://127.0.0.1:8080/onebot/v11/ws/
并保存
持久化运行
依次逐行运行下列命令
sudo apt install -y screen #安装 screen
screen -S go-cqhttp #创建 screen
cd ~/go-cqhttp && echo -e "3\n" | ./go-cqhttp -faststart #运行
没有问题的话会出现二维码
这里如果提示风险无法登陆,就先去手机上下个
爱加速
,然后挂上和你服务器同一城市的节点,之后重新扫码登录即可
等到出好友列表后按
Ctrl+A+D
组合键退出 screen
zhenxun_bot 部署
下载源码
依次逐行运行:
sudo apt install -y git #安装 git
cd ~ && git clone https://ghproxy.com/github.com/HibiKier/zhenxun_bot.git
这里如果 git 太慢或者无法 git 或者作者删库跑路 (前车之鉴), 就手动上传源码,推荐去项目地址下载 release 版
为防止删库,这里放一个
0.1.5.9
的
源码备份
修改配置
设置管理员
修改 bot 管理员账号,将你自己的 qq 账号
改成你希望用来管理 bot 的 qq:
cd ~/zhenxun_bot && sed -i 's/SUPERUSERS.*/SUPERUSERS=[" 你自己的 qq 账号"]/g' .env.dev
如果这一步报错,去 root 目录下将真寻 bot 源码的文件夹名字改成 zhenxun_bot
链接数据库
修改数据库连接命令,如果你没对上面数据库的创建命令作出修改直接运行以下命令:
sed -i 's|bind.*|bind: str = "postgresql://zhenxun:password@localhost:5432/zhenxun"|g' configs/config.py
配置虚拟环境
该步骤非常重要!依次逐行运行下列命令:
cd ~/zhenxun_bot && poetry shell #进入虚拟环境
poetry install #安装依赖
playwright install chromium #安装 Playwright 浏览器
耐心等待环境安装完毕
启动 bot
启动真寻之前确定你进入了虚拟环境!
虚拟环境没问题的话,依次逐行运行:
screen -S zhenxun #创建 screen
cd ~/zhenxun_bot && poetry shell #进入虚拟环境
cd ~/zhenxun_bot && python3 bot.py #启动 bot
至此 bot 启动完毕,第一次启动需要下载各种素材,耐心等待,出现下图表示成功
按
Ctrl+A+D
组合键挂起 screen
现在将你的 Bot 邀请到任意群聊即可愉快的玩耍了,发送 「详细帮助」 就可以看当前 Bot 所有的功能了~
杂七杂八的错误
Unknown DB scheme
可能为新版 psql 数据库名称更改,运行命令将数据库名称改为 postgres
sed -i 's|bind.*|bind: str = "postgres://zhenxun:password@localhost:5432/zhenxun"|g' configs/config.py
zhenxun 反向链接失败
如果运行 bot 后提示反向链接失败,说明 go-cqhttp 配置错了,仔细检查
zhenxun 运行后自动退出
第一次运行可能会提示修改配置文件,这里可以修改/root/zhenxun_bot/configs/config.yaml
,内容自定,也可以不修改直接再次运行命令 python3 bot.py
启动 bot
挂爱加速后依然无法登录
先下一个 win 版的 go-cqhttp,在本地登录一次,将生成的 device.json
覆盖到服务器上,一般可以解决问题。
QQ 会不定期封堵接口,建议更新到最新版,同时关注项目 issue
登录提示账号封停
将 device.json
删掉,重启 bot 尝试,小概率可以解决问题
账号风控,无法发送消息
原因众多,可参考此文章
QQ 会不定期封堵接口,建议更新到最新版,同时关注项目 issue
管理相关
screen -r zhenxun #进入 zhenxun 窗口
screen -X -S zhenxun quit #强制结束 zhenxun 窗口
screen -r go-cqhttp #进入 go-cqhttp 窗口
screen -X -S go-cqhttp quit #强制结束 go-cqhttp 窗口
安装插件
绪山真寻 Bot 提供了官方的插件库,点此跳转
安装方法也很简单,直接将插件文件夹拖到
/root/zhenxun_bot/plugins
目录下,然后重启 bot 即可
需要注意的是,部分插件需要安装依赖,也有部分插件存在兼容问题无法使用,自行甄别
参考文章:https://www.smoe.top/2022/03/25/zhenxun-bot-deploy/