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/