真寻功能

绪山真寻Bot


此项目是基于 Nonebot2go-cqhttp 开发,以 PostgreSQL 作为数据库的QQ群娱乐机器人
本项目用爱发电,如果你有问题或建议请查看 真寻文档 或给 aya酱issue 或加入 企鹅群 !

写在文前

本文大部分内容来自真寻官方文档 如果遇到问题请优先查看最新文档
建议部署在 Linux 上,当然 Windows 也不是不可以
本文只讲 Linux 的部署安装 同时默认你使用root用户 Windows 请参考官方文档

开始安装

安装 go-cqhttp

Mrs4s/go-cqhttpRelease 中下载与你系统对应的版本

点击查看对应版本(移动设备可以滑动表格)

系统类型 可执行文件 压缩文件
Intel 版 Macos Not available go-cqhttp_darwin_amd64.tar.gz
M1 版 Macos Not available go-cqhttp_darwin_arm64.tar.gz
32 位 Linux Not available go-cqhttp_linux_386.tar.gz
64 位 Linux Not available go-cqhttp_linux_amd64.tar.gz
arm64 Linux Not available go-cqhttp_linux_arm64.tar.gz
armv7 Linux Not available go-cqhttp_linux_armv7.tar.gz
32 位 Windows go-cqhttp_windows_386.exe go-cqhttp_windows_386.zip
64 位 Windows go-cqhttp_windows_amd64.exe go-cqhttp_windows_amd64.zip
arm64 Windows go-cqhttp_windows_arm64.exe go-cqhttp_windows_arm64.zip
armv7 Windows go-cqhttp_windows_armv7.exe go-cqhttp_windows_armv7.zip

# 下载文件后使用 tar -xzvf [文件名] 解压
# cd 进入解压目录 使用 ./go-cqhttp 启动
# 首次运行会让你选择通信方式,选择 3 (反向 Websocket 通信),会生成一个配置文件config.yml
[WARNING]: 尝试加载配置文件 config.yml 失败: 文件不存在
[INFO]: 默认配置文件已生成,请编辑 config.yml 后重启程序.

gocq

修改配置文件config.yml将uin修改为bot账号
修改bot账号

将 universal: ws://your_websocket_universal.server
修改为 universal: ws://127.0.0.1:8080/cqhttp/ws
修改ws配置

修改完成后再次运行gocq即可启动

安装PostgreSQL数据库

本文使用 docker 部署数据库

# 拉取PostgreSQL镜像 如果你的下载速度较慢请自行配置容器加速镜像为科大镜像或网易
docker pull postgres

docker run -it --name zhenxun_bot --restart always \
-e TZ='Asia/Shanghai' \
-e POSTGRES_PASSWORD='PASSWORD' \
-e ALLOW_IP_RANGE=0.0.0.0/0 \
-v /home/postgres/data:/var/lib/postgresql \
-p 35432:5432 -d postgres

# –name : 自定义容器名称
# -e TZ='Asia/Shanghai' 应该都明白吧
# -e POSTGRES_PASSWORD:数据库密码 自己设置
# -e ALLOW_IP_RANGE=0.0.0.0/0 放行远端IP
# -v :映射 本地目录与容器内路径
# -p:映射端口
# 进入容器 注意你自己设置的容器名
docker exec -it zhenxun_bot bash
su - postgres # 切换用户
psql
# 创建用户  #用户名↓                # 密码↓
CREATE USER zhenxun WITH PASSWORD 'zhenxun';
# 创建库         #数据库名称↓       #用户名↓
CREATE DATABASE zhenxundata OWNER zhenxun;
#创建完成敲几遍exit退出docker容器
#无需再进行其他调整

安装绪山真寻Bot

真寻Bot需要 Python ≥ 3.8

HibiKier/zhenxun_botRelease 中下载最新版真寻bot

# 下载解压后cd到真寻bot目录
# 安装依赖根据自己的情况使用pip3或pip
pip3 install -r requirements.txt
# 设置超级用户,打开 .env.dev 文件,在SUPERUSERS中添加自己的QQ
SUPERUSERS=["123456789"]
# 打开 configs/config.py 填写数据库数据
 # 数据库(必要)
 # 如果填写了bind就不需要再填写后面的字段了#)
 # 示例:"bind": "postgresql://user:password@127.0.0.1:5432/database"
 bind: str = ""  # 数据库连接链接
 sql_name: str = "postgresql"
 user: str = ""  # 数据用户名
 password: str = ""  # 数据库密码
 address: str = ""  # 数据库地址
 port: str = ""  # 数据库端口
 database: str = ""  # 数据库名称
# 根据你设置的信息 在bind: str = ""里填入 如果你没改复制的我的代码那就是下面的
bind: str = "postgresql://zhenxun:zhenxun@127.0.0.1:35432/zhenxundata"

启动真寻Bot

# 首次启动真寻Bot,会在 configs 和 data/configs 目录下生成各种配置文件
python3 bot.py
# 不用管 再敲一遍 先跑起来后面再改 修改后你可能需要重新启动真寻bot

持久化运行

# 安装Screen (Ubuntu/Debian使用apt CentOS使用yum或dnf)
apt install screen
# 启动gocq
screen -S gocq
# 进入gocq目录
cd ...
./go-cqhttp
# 按下 Ctrl+A+D 退出screen并保持会话
# 下次来连接进入可以使用
screen -r gocq
# 真寻Bot也需要这样操作
screen -S zhenxun
# 进入真寻bot目录
cd ...
python3 bot.py
# 按下 Ctrl+A+D 退出screen并保持会话
# 使用 screen -ls 查看正在运行的会话

安装FFmpeg

# 发送语音需要使用FFmpeg
# Ubuntu/Debian使用apt直接安装
apt install ffmpeg
# 由于CentOS 官方源没有FFmpeg(目前 没准以后有了呢-_-
# 需要使用第三方源或者自行编译安装

最后如果还有问题可以来 企鹅群

最后修改:2022 年 01 月 17 日 09 : 03 PM