QQ机器人搭建 III - cq-picsearcher-bot框架搭建

1. nodejs环境安装

  因为在使用过程中发现ZeroBot-Plugin的涩图功能不是很涩,狗群友一天不涩涩浑身难受,原来是我啊,那没事了,于是在这基础上继续搭建 cq-picsearcher-bot 机器人,同时使用两个机器人。
  cq-picsearcher-bot是使用nodejs编写的,于是我们搭建nodejs环境。打开 Node.js官网 找到LTS版本并点击 "Other Downloads",该项目暂不支持17及以上版本,也不要使用Linux官方维护的版本(版本过低)

  右键Linux Binaries版本,复制链接。回到shell后将其下载回来并解压,命令全程在root用户下操作,具体见搭建教程第一部分

wget -P /home https://nodejs.org/dist/v16.15.0/node-v16.15.0-linux-x64.tar.xz
xz -d node-v16.15.0-linux-x64.tar.xz
tar -xvf node-v16.15.0-linux-x64.tar
mv node-v16.15.0-linux-x64 /usr/local/nodejs
rm node-v16.15.0-linux-x64.tar

  同Go语言环境一样,将其添加到环境变量,打开profile文件

vi /etc/profile

  在最后一行添加

# Nodejs
export NODEJS=/usr/local/nodejs
export PATH=$PATH:$NODEJS/bin

  最后source一下

source /etc/profile

  至此Nodejs环境安装成功,可以用node -vnpm -v检查下

2. SauceNAO API获取

  由于非注册账户对于搜图次数有限制,虽然注册账户也有,不过每天有100次。什么?每天100次还不够用?您节制一次都不用是吧
  打开 SauceNAO ,点击Account并注册

  注册登录好后进入api页面,复制自己的api key,之后会用到。后面regen是重新生成key,不要点

3. cq-picsearcher-bot 安装

  cq-picsearcher-bot 主要用来搜图、搜本子和按tag搜涩图,我们将项目clone回本地

cd /home
git clone https://github.com/Tsuk1ko/cq-picsearcher-bot.git

  将默认配置文件copy一份并更名,原配置文件只提供配置模板,本身并不生效

cd /cq-picsearcher-bot
cp config.default.jsonc config.jsonc

  然后安装依赖

npm i -g yarn
yarn

  安装成功后对配置文件进行更改

vi config.jsonc

  下面是配置文件需要更改的地方,群友没事就搁那复读,那就复吧,涩图功能只展示部分

// momocow/node-cq-websocket 配置,请参考 https://yww.uy/5gGAq9
"cqws": {
    "host": "127.0.0.1",
    "port": 6800, // 默认配置为6700,因为6700端口被zerobot占用,于是改用6800
    "enableAPI": true,
    "enableEvent": true,
    "accessToken": "",
    "reconnection": true,
    "reconnectionAttempts": 10,
    "reconnectionDelay": 5000
},

// 复读相关功能
"repeat": {
    // 是否启用
    "enable": true,
    // 当检测到某个群有这么多次相同发言后会概率参与复读
    "times": 3,
    // 复读概率(百分比 0~100)
    "probability": 100, // 上调概率
    // 平时直接复读的概率(百分比 0~100)
    "commonProb": 0.5 // 上调概率
},

// setu 相关功能,部分配置的详细说明请查看“wiki-附加功能-setu”以了解更多
"setu": {
    // 是否启用
    "enable": true, // 改为true启用
    // 反和谐方式(0:关闭,1:轻微修改,2:旋转)
    "antiShielding": 1, // 轻微修改
},

// 正则表达式相关设置
"regs": {
    // 开启搜图模式
    "searchModeOn": "^搜[图圖]$", // 将名字去掉了,以免与zerobot聊天功能撞车,搜图触发关键字变为'搜[图片]'
    // 关闭搜图模式
    "searchModeOff": "^[谢謝]+絵守$", // 更改为自己的机器人名字
    // setu
    "setu": "^.*[来來发發给給][张張个個幅点點份]?(?<r18>[Rr]18的?)?(?<keyword>.*?)?的?[色瑟][图圖]|^--setu$" // 去掉了名字以免撞车,触发变为'来张[tag]涩图'
},

// saucenao APIKEY,必填,否则无法使用 saucenao 搜图
"saucenaoApiKey": "自己的api key",

  随机图功能的触发语句“来张[tag]色图”会与zerobot冲突,在zerobot的功能列表中禁用imgfinder即可

4. 更改go-cqhttp设置

  还记得将端口更改为了6800吗?我们需要在go-cqhttp的配置里再匹配下,打开其配置文件

vi /home/go-cqhttp/config.yml

  在正向WS设置下再加一个ws服务,于是配置文件变为了这样

# 正向WS设置
- ws:
    # 正向WS服务器监听地址
    host: 127.0.0.1
    # 正向WS服务器监听端口
    port: 6700
    middlewares:
    <<: *default # 引用默认中间件
- ws:
    # 正向WS服务器监听地址
    host: 127.0.0.1
    # 正向WS服务器监听端口
    port: 6800
    middlewares:
    <<: *default # 引用默认中间件

  进入后台,ctrl+c杀掉程序再重启次,报错"找不到地址"是正常的,6800端口的机器人还没跑起来呢

5. 运行程序

  进入程序目录,使用npm run test测试程序没问题后,新建一个tmux后台,并在后台运行此程序

tmux new -s picsearcher

# 运行
npm start

# 停止
npm stop

# 重启
npm restart

# 查看日志(平时日志也会保存在 logs 文件夹内)
npm run log

# 停止 pm2 进程
npm run kill

  至此涩图搜图机器人已正常运行




  了吗?

上一篇:QQ机器人搭建 II - ZeroBot-Plugin框架搭建
下一篇:QQ机器人搭建 IV - 代理搭建

posted @ 2022-05-30 17:51  絵守辛玥  阅读(888)  评论(0)    收藏  举报