领养一只可爱的小真寻—绪山真寻Bot部署教程

R.I.P.

file

介绍

一个基于 Nonebot2 和 go-cqhttp 开发,以 PostgreSQL 作为数据库的可爱Bot

file

更多更详细的介绍请移步:[使用文档] | [项目地址]

前置准备

本教程默认采用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管理器

file

安装完成后点击“设置”,点“版本管理”,安装12.10版本
file

点击“数据库列表”,创建数据库
file

参数自定义,这里数据库名和用户名填zhenxun,密码填password,权限设置所有人
file

至此数据库安装完毕

命令安装

若已在宝塔内安装,请勿重复安装!
运行下列命令安装数据库

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

前面步骤没错的话会出现以下界面:

file

之后修改/root/go-cqhttp/config.yml,将universal参数改成ws://127.0.0.1:8080/onebot/v11/ws/并保存
file

持久化运行

依次逐行运行下列命令

sudo apt install -y screen #安装screen
screen -S go-cqhttp #创建screen
cd ~/go-cqhttp && echo -e "3\n" | ./go-cqhttp -faststart #运行

没有问题的话会出现二维码

file

这里如果提示风险无法登陆,就先去手机上下个爱加速,然后挂上和你服务器同一城市的节点,之后重新扫码登录即可
file

等到出好友列表后按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版

file

为防止删库,这里放一个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启动完毕,第一次启动需要下载各种素材,耐心等待,出现下图表示成功

file

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反向链接失败

file

如果运行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提供了官方的插件库,点此跳转

file

安装方法也很简单,直接将插件文件夹拖到/root/zhenxun_bot/plugins目录下,然后重启bot即可
需要注意的是,部分插件需要安装依赖,也有部分插件存在兼容问题无法使用,自行甄别


参考文章:https://www.smoe.top/2022/03/25/zhenxun-bot-deploy/

本文作者:小小黑
本文链接:https://lonelyenderman.top/archives/781
版权声明:本站采用 BY-NC-SA 进行许可。转载请注明出处!

评论

  1. 七宝
    Windows Chrome
    1年前
    2023-7-27 14:26:32

    连接到反向WebSocket Universal服务器 ws://127.0.0.1:8080/onebot/v11/ws/ 时出现错误: dial tcp 127.0.0.1:8080: connect: connection refused 这怎么搞

    来自上海
    • 七宝
      Windows Chrome
      12月前
      2023-8-01 18:01:00

      8080端口能正常访问吗?

      来自山东
    • 七宝
      Windows Chrome
      12月前
      2023-8-01 18:07:35

      也有可能是版本不一致,你可以参考下这篇文章,有这部分的解释

      来自山东
  2. 虚无
    Android Chrome
    1年前
    2023-5-18 5:05:20

    真寻怎么添加通过nb-cli下载的插件啊

    来自广东
    • 虚无
      Windows Chrome
      1年前
      2023-5-18 13:35:09

      我是直接去官方插件库下的源文件,然后丢到zhenxun_bot/plugins里重启真寻就好了

      来自陕西
  3. 小雨
    Windows Edge
    1年前
    2023-5-13 8:45:00

    win系统进入虚拟环境显示 poetry could not find a pyproject.toml file in C: Users 86138 or its parents 怎么办
    py的版本是3.10.8

    来自河北
    • 小雨
      小雨
      Windows Chrome
      1年前
      2023-5-13 8:46:12

      很难受 就差这个了

      来自河北
    • 小雨
      Windows Chrome
      已编辑
      1年前
      2023-5-13 9:49:06

      StackOverflow有一篇类似的提问(https://stackoverflow.com/questions/66257546/poetry-could-not-find-a-pyproject-toml-file-in-c ) ,翻译过来大概是:你必须先创建一个pyproject.toml。进入你的项目文件夹,运行poetry init并按照指示操作。作为替代方法,你可以运行poetry new myproject来创建一个基本的文件夹结构和一个pyproject.toml。也可以看一下文档。

      来自陕西
  4. liao
    Windows Edge
    1年前
    2023-5-10 16:25:48

    大佬请问出现这个问题是什么原因啊
    psql: error: connection to server on socket “/var/run/postgresql/.s.PGSQL.5432” failed: No such file or directory
    Is the server running locally and accepting connections on that socket?
    这个是没开放远程连接吗,还是怎么回事>﹏<

    来自湖南
    • liao
      Windows Chrome
      1年前
      2023-5-10 16:31:50

      看起来是PostgreSQL报错,数据库配置出问题了吧

      来自陕西
  5. 六花
    Windows Edge
    1年前
    2023-4-23 15:20:14

    难受已经用爱加速挂去广东了,还是显示登陆环境异常

    来自广西
    • 六花
      Windows Chrome
      1年前
      2023-4-24 9:58:25

      还有一种办法,本地下个go-cqhttp,登录一次,把生成的device.json覆盖到服务器上,曲线救国

      来自陕西
      • 六花
        小小黑
        Windows Edge
        1年前
        2023-4-30 2:32:00

        试过了这俩方法都不行,折磨2周了,本地可以正常加载不需要验证码,移动到服务器上还需要扫码登陆╥﹏╥

        来自广西
        • 六花
          Android Chrome
          1年前
          2023-5-01 1:04:33

          这种一般是tx封堵了接口,可以关注go-cqhttp的项目地址,更到最新版或者跟作者提issue

          来自陕西
          • 六花
            小小黑
            Windows Edge
            1年前
            2023-5-01 1:26:23

            好的感谢答复

            来自广西
  6. a
    Windows Firefox
    1年前
    2023-2-04 15:51:59

    进入虚拟环境而且已经安装好依赖之后依然提示ModuleNotFoundError: No module named ‘nonebot.adapters’怎么办,Python3.10

    来自北京
    • a
      Windows Chrome
      1年前
      2023-2-06 14:38:48

      运行pip install nonebot-adapter-onebot安装依赖,如果还是报错,参考这个教程

      来自陕西
  7. a
    Windows Firefox
    1年前
    2023-2-04 0:26:42

    安装依赖那一步安装pyyaml总是报错怎么办

    来自北京
    • a
      Windows Chrome
      已编辑
      1年前
      2023-2-04 9:42:12
      • python版本是否为3.8或以上
      • 是否进入了虚拟环境
      • 详细报错内容是什么
      来自陕西

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(*^▽^*)
 ̄﹃ ̄
(╯‵□′)╯︵┴─┴
(~ ̄▽ ̄)~
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
( ͡° ͜ʖ ͡°)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
つ﹏⊂
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
(´▽`ʃ♡ƪ)
w(゚Д゚)w
(๑•̀ㅂ•́)و✧
(#`O′)
凸(艹皿艹 )
o(≧口≦)o
≡ω≡
(*/ω\*)
○| ̄|_
(⊙ˍ⊙)
Σ(っ °Д °;)っ
o( ̄ヘ ̄o#)
<( ̄︶ ̄)>
(。・∀・)ノ゙
(o゜▽゜)o☆
╥﹏╥
ヾ(´・ω・`)ノ
😂
😀
😅
😊
🙂
😍
😘
😜
😝
😏
😒
🙄
😳
😔
😫
😱
😭
😶
🌚
😣
🤨
😣
🤐
😪
🤤
🥵
🤮
😨
😱
😓
🤬
👴
🤡
🙈
💊
🙏
🤺
💩
👻
🙌
🖕
👍
👫
👌
🙏
👀
🐒
🔪
Source: github.com/zhheo/Sticker-Heo
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
Heo
花!
上一篇
下一篇