从0开始搭建一个色图Bot

下面的操作全都是在的Ubuntu20.04_amd64上演示的

必要条件

  1. OPQBot本体

  2. Python环境 (版本要>=3.8)

  3. Windows的机子 (Windows版本的OPQBot不能发图)

  4. 一个能上外网的代理,或者机子直接就能上外网

  5. 一个QQ小号(

准备工作

先把要用的软件包安装上

我这里已经安装过了,一般这步都不会有问题的(

1
apt update
1
apt install wget git python3-pip

然后下载OPQBot

挑选合适版本的OPQBot,右键对应版本的蓝字,然后复制链接

1
wget 你复制的链接

例如

1
wget https://github.com/opq-osc/OPQ/releases/download/v6.7.5-Bate1224/OPQBot_6.7.5-Bate1224_linux_amd64.tar.gz

解压下载的压缩包

1
tar -zxvf OPQ    (这个时候可以按两下键盘上的TAB键,可以自动补全)

例如

1
tar -zxvf OPQBot_6.7.5-Bate1224_linux_amd64.tar.gz

然后把压缩包删了

1
rm OPQBot_6.7.5-Bate1224_linux_amd64.tar.gz

最后把解压出来的文件夹改个名(后续方便点)

1
mv OPQBot_6.7.5-Bate1224_linux_amd64 OPQBot

clone色图姬

1
git clone https://github.com/yuban10703/OPQ-SetuBot --depth=1

image

到这里所有要用到的文件都已经下载好了

登录OPQBot

获取token

在启动OPQBot前需要一个Token

到这个页面登录授权后就可以拿到 –> Gitter Developer Program

拿到token后要填到OPQBot的CoreConf.conf文件里

这里要安装一个文本编辑器 (一般都是自带的)

1
apt update && apt install nano

然后进入OPQBot的文件夹

1
cd OPQBot

编辑CoreConf.conf文件

1
nano CoreConf.conf

在下图中的位置填入上面从Gitter Developer Program复制的token

保存方法: ctrl + x,然后输入Y,回车

启动OPQBot

这里使用screen来保持进程

安装screen

1
apt update && apt install screen

1
screen -R 随便起一个记得住的名字

例如

1
screen -R OPQBot

回车后会短暂的出现下面的页面,然后就进入了一个新的终端

然后输入

1
cd ~ && cd OPQBot
1
./OPQBot

出现 Everything is ok! 后才算启动完成,然后再进行扫码登陆

扫码登陆

然后确保防火墙里打开了OPQBot要用的端口,默认是8888,端口可以在CoreConf.conf里修改

浏览器输入

IP就是你运行OPQBot的机子的IP

PORT如果没修改过的话就是8888 (可以去CoreConf.conf里查看)

1
http://IP:PORT/v1/Login/GetQRcode

例如

1
http://192.168.1.123:8888/v1/Login/GetQRcode

然后用手机扫码登录 (第一次登录会将token绑定QQ,后续如果要换QQ的话需要换绑)

回到终端查看是否登录成功, 如果成功了就按 ctrl+a+d 来暂时离开当前会话

如果后续要查看OPQBot的状态,或者要关闭重启OPQBot,可以再次通过下面的命令进入

1
screen -R 你之前起的名字

如果忘记名字了可以通过 screen -ls来查看有哪些会话

可以到这个网站学习下使用screen Linux screen命令 | 菜鸟教程

启动SetuBot

到这步,OPQBot应该已经登录上,并且通过screen挂在后台了

安装依赖模块

先把色图姬要用到的Python库全装上

1
cd ~ && cd OPQ-SetuBot
1
pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple

image

填写botoy.json

setu.refresh_token

最麻烦的应该就是这个了, 需要获取Pixiv的refresh_token

这里使用docker来获取这个token

安装docker
1
2
curl -fsSL https://get.docker.com -o get-docker.sh
sh ./get-docker.sh

image

获取refresh_token
1
docker run --rm -it eggplanter/gppt lh -u <pixiv账号> -p <你的密码>

例如

账号为114514

密码为1919810

1
docker run --rm -it eggplanter/gppt lh -u 114514 -p 1919810

image

不出意外的话输出应该和我一样(

需要的是refresh_token (绿色线划出来的部分)

保存配置

然后把它填到 OPQ-SetuBot/botoy.json

1
nano ~/OPQ-SetuBot/botoy.json

image

保存方法同上

ctrl + x,然后输入Y,回车

searchPicture.apiKey

这个文件需要获取saucenao的apikey,只需要注册个账号就可以拿到

在这里注册登录

SauceNAO User Login

image

然后访问这个

绿色线部分就是apikey

SauceNAO User Config

image

保存配置

同上

1
nano ~/OPQ-SetuBot/botoy.json

image

保存方法和之前一样

其他配置项

字段名 说明
host OPQ的IP,本机运行就 http://127.0.0.1
port OPQ的端口,没修改过就是8888
superAdmin 你的qq
proxies_http http代理 例子: {“all://“: “http://127.0.0.1:8030"}
proxies_socks socks代理 例子: “socks5://username:password@127.0.0.1:8888”

运行色图姬插件

色图姬插件也需要保持后台运行

这里和运行OPQBot一样都使用screen

开启一个新的会话

1
screen -R 随便起一个记得住的名字

例如

1
screen -R setu

进入目录

1
cd ~/OPQ-SetuBot/

运行插件

1
python3 bot.py

image

这个时候如果机器人没有风控的话就可以正常使用了 (风控:色图插件日志正常,但是bot没有反应)

最后还要生成一下setu插件的配置文件 生成setu配置文件

然后ctrl + a +d 就可以暂时离开当前会话并断开ssh了

未完待续~


从0开始搭建一个色图Bot
https://2333.world/_posts/2022_02_13/从0开始搭建一个色图Bot/
作者
Yuban10703
发布于
2022年2月13日
许可协议