此项目仅用于学习交流,请勿用于非法用途

此项目基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库的非常可爱的绪山真寻bot~~


注意事项

  1. 保证系统的相同,环境的相同,是尽量减少麻烦的最有效的途径
  2. 遇到麻烦先不要慌,先看看你是不是漏看了亿步
  3. 实在解决不了,带上你的完整的报错,和自己所做过的行为去群里问问。QQ群:[ 是真寻酱哒 ]

必要的准备

  1. 一定的基础,包括但不限于稍微熟悉linuxwindows cmd命令行
  2. 一台服务器,推荐系统: Ubuntu20.04 LTS
  3. 一个可以用的脑子
  4. 善于百度谷歌的双手

一、必要环境的安装

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 \
    libasound2
  • Ubuntu安装中文字体

    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
  • 首次运行会出现以下界面

    image-20220325015235754

  • 之后输入命令修改配置

    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
    • 再出现二维码以后,扫码登陆

      image-20220325020005939

    • 之后出现以下信息为正常登陆成功,然后使用 Ctrl + A + D 组合键退出screen

      image-20220325020616971

至此,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

好了,现在你可爱的真寻酱已经跑起来了!快去玩玩吧~


四、进阶玩法

施工中,有时间再搞(咕咕咕)