绪山真寻Bot——可爱的Q群机器人
本文发布于385天前,最后更新于198天前,其中的信息可能有所发展或是发生改变。如有疑问请联系邮箱:admin@yemengstar.com。

1.前言

没有前言,这篇教程参考作者官方文档搭建绪山真寻bot,可爱捏。

功能也很多哦!

2.项目地址

GitHub地址:HibiKier/zhenxun_bot: 基于 Nonebot2 和 go-cqhttp 开发,以 postgresql 作为数据库,非常可爱的绪山真寻bot (github.com)

帮助文档地址:绪山真寻Bot (hibikier.github.io)

本文基本参考上面帮助文档,稍微添加了一点细节。小伙伴们有啥问题可以去看看官方文档哦!搭建中的提示图片夜梦过段时间加上(咕咕咕)

3.搭建准备

夜梦这里采用Ubuntu22.04版本安装。

PS:夜梦折腾了一下午已经成功了,并且配置好了基本的API,所以下面的过程应该不会有太大问题。

ERROR了的话当我没说
  • 一个QQ号(拿小号!)
  • 一台服务器
  • 稍微了解一点Linux命令
  • 一定的百度/bing/Google的能力
  • 面对ERROR不放弃的耐心和决心
WARNING

自建可能会遇到各种花里胡哨的麻烦,如果没有一些基础的话,前面可是困难重重啊少年

夜梦全程以root身份进行搭建!

4.安装go-cqhttp

4.1下载

go-cqhttpGitHub地址:https://github.com/Mrs4s/go-cqhttp

release地址:Releases · Mrs4s/go-cqhttp (github.com)

这里我们选择这个:https://github.com/Mrs4s/go-cqhttp/releases/download/v1.0.1/go-cqhttp_linux_amd64.tar.gz

我们先新建一个文件夹,方便后面的管理:

mkdir zhenxunbot
cd zhenxunbot

再建一个文件夹,用来放go-cqhttp:

mkdir gocq
cd gocq

然后把go-cqhttp下载到这个文件夹中:

wget https://github.com/Mrs4s/go-cqhttp/releases/download/v1.2.0/go-cqhttp_linux_amd64.tar.gz

然后解压文件到这个文件夹中:

tar -zxvf go-cqhttp_linux_amd64.tar.gz #名字不一样的话自己改改哈

4.2配置

解压后会得到go-cqhttp,我们运行它

./go-cqhttp

首次运行会让你选择通信方式,选择 3 (反向 Websocket 通信),会生成一个配置文件config.yml

然后我们按ctrl+c退出

这个时候我们修改config.yml文件:

vim config.yml

然后按i进入修改模式(后面也一样):

1.找到uin: 123456修改为你自己的qq机器的账号,比如uin: 654321

2.找到password:'',在''中填入你的密码。

3.然后,我们向下翻,找到并修改universal

universal: ws://your_websocket_universal.server
修改为
universal: ws://127.0.0.1:8080/onebot/v11/ws/

esc后,输入:wq保存退出(后面也一样)。

4.3启动

退出后,我们输入在gocq文件夹中,输入./go-cqhttp运行。

按照提示选择验证后,登录进入账号。

成功后会提示警告CONNECTION REFUSED,别担心,这些提示将在完成真寻启动时消失。

到这一步已经成功完成gocq方面的配置了,可以进行下一步!
30%

4.安装Postgresql数据库

4.1安装

直接命令行输入:

apt update
apt install postgresql postgresql-contrib

创建数据库和用户(依次输入):

sudo su - postgres  # 切换用户
psql

         # 用户名↓              # 密码↓
# CREATE USER uname WITH PASSWORD 'zhenxun';      # 创建用户(可不执行)

                                   #密码↓
alter user postgres with password 'zhenxun_bot';    # 修改postgres的密码

        # 数据库名称↓    所有者(用户名)↓
CREATE DATABASE zhenxun_bot OWNER postgres;             # 创建数据库

然后退出数据库

exit
成功完成了Postgresql的数据库配置,马上要安装真寻了捏
60%

4.2配置外网连接(可省略)

夜梦这里就不写了,需要的小伙伴自己看官方文档哦!

安装Postgresql数据库(Ubuntu) | 绪山真寻Bot (hibikier.github.io)

5.安装真寻Bot

5.1下载依赖

咱这里回到主目录下新建一个文件夹放bot的文件:

cd .. #退回到zhenxunbot目录下
mkdir bot

从 HibiKier / zhenxun_bot (opens new window) clone代码:

git clone https://github.com/HibiKier/zhenxun_bot.git
cd zhenxun_bot

5.2安装依赖

安装依赖包,依次执行以下内容:

pip3 install poetry     # 使用poetry管理python包
poetry install          # 安装依赖
poetry shell            # 进入虚拟环境
playwright install chromium
playwright install-deps chromium

5.3设置超级用户

设置超级用户,打开 .env.dev 文件,在SUPERUSERS中添加自己的QQ:

vim  .env.dev

SUPERUSERS=["123456789"]中修改成自己的主人(超级管理员)QQ号

5.4填写数据库数据

进入 configs 目录并打开 config.py 文件填写数据库数据。

如果你从开头到现在都跟着夜梦的教程进行的,那么你只需要将:

bind: str = ""  # 数据库连接链接
sql_name: str = "postgres"
user: str = ""  # 数据用户名
password: str = ""  # 数据库密码
address: str = ""  # 数据库地址
port: str = ""  # 数据库端口
database: str = ""  # 数据库名称

修改为:

bind: str = ""  # 数据库连接链接
sql_name: str = "postgres"
user: str = "postgres"
password: str = "zhenxun_bot"
address: str = "127.0.0.1"
port: str = "5432"
database: str = "zhenxun_bot"

如果上面在填写数据库的时候修改了部分信息,那么就按照你修改的来填写。

5.5启动真寻

然后我们回到zhenxun_bot的目录下。(有 bot.py 文件的目录)

然后我们就可以启动真寻酱了:

python3 bot.py

首次启动会下载资源,时间较久,请耐心等待。

有报错也不用管 (反正夜梦也不会解决)

启动完成后,会在 configs 和 data/configs 目录下生成各种配置文件,我们按需修改即可,通常只是填写API接口。夜梦会在后面演示填写一些。

但是!

我们这里只是启动了zhenxun_bot,还没启动go-cqhttp呢,如果想要同时启动这两个并且保持持久化运行,我们需要用到screen

zhenxunbot已经正常运行了呀 
90%

6.持久化运行

6.1安装screen

apt install screen

6.2创建会话——zhenxun_bot

在随便哪个目录下运行:

screen -S zhenxun

创建一个screen给真寻。

进入到zhenxun_bot目录下。

运行:

poetry shell
python3 bot.py

然后按CTRL+A+D退出screen即可!

6.3创建会话——gocq

进入我们的gocq文件夹后,输入

screen -S gocq

然后输入:

./go-cqhttp

即可运行!

再按CTRL+A+D退出screen。

到这里,我们机器人的配置就完成了~

你可以试试真寻酱啦~
100%

6.4重回会话

使用以下命令恢复会话:

screen -r zhenxun  #后面就是你创建screen的名字

7.检查运行情况

在没有修改默认端口的情况下,输入:

lsof -i:8080

可以查看真寻是否在线,显示下面四条信息说明成功运行了。

COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
go-cqhttp 1789 root   16u  IPv4  31676      0t0  TCP localhost:38638->localhost:http-alt (ESTABLISHED)
go-cqhttp 1789 root   21u  IPv4  27364      0t0  TCP study:34282->120.232.130.13:http-alt (ESTABLISHED)
python3   2345 root   20u  IPv4  32621      0t0  TCP localhost:http-alt (LISTEN)
python3   2345 root   22u  IPv4  31677      0t0  TCP localhost:http-alt->localhost:38638 (ESTABLISHED)

8.修改config.ymal

8.1修改config.ymal

这里夜梦推荐使用XFTP进行本地化操作。

在使用XFPT连接到服务器后,我们进入到/zhenxunbot/zhenxun_bot/configs/文件夹中,右键使用记事本编辑config.ymal文件。

然后小伙伴们应该都会的,记事本都会用的吧,改完直接CTRL+S保存就行。

夜梦推荐修改的有(自己到网站注册获取API的):

如果想要使用天气插件,还需要在plugins文件夹中找到weather文件夹,进入后用记事本编辑data_source文件。需要修改的位置在else中,先到yiketianqi.com注册一个账号,然后找到自己的APPID和APPSECRET,填入下方的else中就好了:

    else:
        data_json = (
            await AsyncHttpx.get(
                f"https://v0.yiketianqi.com/api?unescape=1&version=v91&appid=APPID&appsecret=YOURSECRET&ext=&cityid=&city={city[:-1]}"
            )

8.2重启真寻酱

分别回到两个screen中按CTRL+C暂停运行,然后按照上面的指令重新运行启动一遍就好了。

9.报错问题

绪山真寻bot | 部分问题的解决办法

本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:绪山真寻Bot——可爱的Q群机器人
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇
下一篇