【zhenxun_bot】可爱的绪山真寻Bot部署教程
此项目仅用于学习交流,请勿用于非法用途
此项目基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库的非常可爱的绪山真寻bot~~
注意事项
- 保证系统的相同,环境的相同,是尽量减少麻烦的最有效的途径
- 遇到麻烦先不要慌,先看看你是不是漏看了亿步
- 实在解决不了,带上你的完整的报错,和自己所做过的行为去群里问问。QQ群:[ 是真寻酱哒 ]
必要的准备
- 一定的基础,包括但不限于稍微熟悉
linux
或windows cmd
命令行 - 一台服务器,推荐系统:
Ubuntu20.04 LTS
- 一个可以用的脑子
- 善于百度谷歌的双手
一、必要环境的安装
1.1 python环境的安装
从最开始的纯净的Ubuntu20.04
系统开始部署,Ubuntu20.04
自带有python3.8.10
所以避免了不太友好的python3.8
或者python3.9
的安装。当然,如果你是别的系统,也可以百度搜索 【{你的系统和版本}python3.8
安装】。所以为了避免一系列因为系统不相同而导致的问题,推荐使用纯净的Ubuntu20.04
系统部署真寻。
一些需要用的命令的安装:
sudo apt update && sudo apt install -y wget git screen ffmpeg
安装
pip
命令如下:sudo apt update && sudo apt install -y python3-pip
新版真寻使用的
poetry
虚拟环境安装,所以需要安装poetry
,安装命令如下:sudo pip install poetry
1.2 PostgreSQL数据库的安装
据了解 PostgreSQL
数据库的版本在9.0
以上即可,版本的不同并不会对真寻的运行造成影响,所以这里使用的是PostgreSQL12
,以下命令注意要一行一行运行.
PostgreSQL
安装命令:sudo apt update && sudo apt install -y postgresql postgresql-contrib
创建数据库和用户:
sudo su - postgres
psql
CREATE USER zhenxun WITH PASSWORD 'zxpassword';
CREATE DATABASE zhenxun OWNER zhenxun;
exit
exit
ps: exit
命令需要运行两次来退出数据库
1.3 一些必要的依赖
真寻运行所需要的的系统相关依赖的安装:
sudo apt install -y \
libgl1 \
libglib2.0-0 \
libnss3 \
libatk1.0-0 \
libatk-bridge2.0-0 \
libcups2 \
libxkbcommon0 \
libxcomposite1 \
libxrandr2 \
libgbm1 \
libgtk-3-0 \
libasound2Ubuntu
安装中文字体sudo apt-get install -y ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
sudo fc-cache -f -v
二、go-cqhttp的安装
go-cqhttp 是什么?
使用OneBot协议实现的无头QQ,接受消息发往后端处理
2.1 下载go-cqhttp
下载go-cqhttp需要
wget
组件,如果没有可以运行sudo apt install -y wget
安装命令如下
mkdir ~/go-cqhttp && \
cd ~/go-cqhttp && \
wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.0-rc1/go-cqhttp_linux_amd64.tar.gz -O go-cqhttp_linux_amd64.tar.gz && \
tar -zxvf go-cqhttp_linux_amd64.tar.gz复制到命令行一键运行
2.2 修改相关配置
运行一次go-cqhttp
cd ~/go-cqhttp && echo -e "3\n" | ./go-cqhttp
首次运行会出现以下界面
之后输入命令修改配置
sudo sed -i 's|universal:.*|universal: ws://localhost:8080/onebot/v11/ws|g' config.yml
2.3 go-cqhttp的持久化运行
持久化运行go-cqhttp,推荐使用
screen
,方便管理适合新手,screen
的安装命令:sudo apt install -y screen
安装完成以后创建
screen
并进入:screen -S go-cqhttp
在重新出现的
shell
界面,运行go-cqhttp并扫描二维码登陆bot的qq,待命:cd ~/go-cqhttp && echo -e "3\n" | ./go-cqhttp -faststart
再出现二维码以后,扫码登陆
之后出现以下信息为正常登陆成功,然后使用
Ctrl + A + D
组合键退出screen
至此,go-cqhttp的部署完成了,接下来便是真寻本体的部署
三、zhenxun_bot的部署
这也是最容易出错的一步,在群里我们看到过很多的问题,等到以后我会将大部分可能出现的问题整理出来,供给大家查询。
(咕咕咕)以免同一个问题一天出现十几次(让人血压飙升)
3.1 下载zhenxun_bot源码
使用git命令下载真寻源码,如果没有安装
git
需要运行:sudo apt install -y git
git clone真寻源码:
cd && git clone https://ghproxy.com/github.com/HibiKier/zhenxun_bot.git
3.2 修改相关配置
修改bot管理员账号,将
你自己的qq账号
改成你希望用来管理你bot的qq:cd ~/zhenxun_bot && sed -i 's/SUPERUSERS.*/SUPERUSERS=["你自己的qq账号"]/g' .env.dev
修改数据库连接命令,如果你没对上面数据库的创建命令作出修改直接运行以下命令:
sed -i 's|bind.*|bind: str = "postgresql://zhenxun:zxpassword@localhost:5432/zhenxun"|g' configs/config.py
3.3 虚拟环境的配置
有很多人的问题都是出在了这里
(虽然也与阿咪文档写的不全有关),但是不可否认,这是不可缺少的一环以后如果还有人在群里因为虚拟环境而发问,一概不予理会
首先,你得进入虚拟环境:
cd ~/zhenxun_bot && poetry shell
之后便是真寻的相关依赖的安装,使用命令:
poetry install
如果是国内机器,不更换pip的源的话会感觉非常的慢,所以在依赖安装之前可以更换pip源:
sudo pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
Playwright浏览器的安装:
playwright install chromium
如果不想启动后下载一大堆资源,可以执行以下命令,下载相关资源
SOURCE_URL=https://pan.yropo.top/source/zhenxun/
wget ${SOURCE_URL}data_draw_card.tar.gz -qO ~/.cache/data_draw_card.tar.gz \
&& wget ${SOURCE_URL}img_draw_card.tar.gz -qO ~/.cache/img_draw_card.tar.gz \
&& tar -zxvf ~/.cache/data_draw_card.tar.gz -C ~/zhenxun_bot/ \
&& tar -zxvf ~/.cache/img_draw_card.tar.gz -C ~/zhenxun_bot/ \
&& rm -rf ~/.cache/*.tar.gz
至此,真寻的所有的环境都已经配置完毕,就差最后一步的启动了
3.4 启动zhenxun_bot
再次强调一遍,启动真寻之前确定你进入了虚拟环境,有关虚拟环境的进入 进入虚拟环境
当然,启动之前我们得让真寻一直跑着,所以我们需要用到
screen
来让真寻持久化运行screen -S zhenxun
然后先进入虚拟环境,再运行真寻:
cd ~/zhenxun_bot && poetry shell
cd ~/zhenxun_bot && python3 bot.py
3.5 管理相关
真寻的安装目录位于
~/zhenxun_bot
下go-cqhttp的安装目录位于
~/go-cqhttp
下
进入真寻的screen界面命令:
screen -r zhenxun
进入go-cqhttp界面的命令:
screen -r go-cqhttp
- 使用
Ctrl + A + D
退出screen
- 使用
screen -r name -X quit
结束screen
- 使用
好了,现在你可爱的真寻酱已经跑起来了!快去玩玩吧~
四、进阶玩法
施工中,有时间再搞
(咕咕咕)