部署流程 - fnsflm/cq-picsearcher-bot GitHub Wiki

1. go-cqhttp

因酷Q停止运营,本项目从 v2.14.0 开始转为依赖 go-cqhttp 运行,若你是从旧版(v2.14.0 以前)升级而来,请在部署完 go-cqhttp 后阅读迁移须知

注意:go-cqhttp 为新项目,初期可能存在许多 bug,请大家支持并耐心等待该项目的完善

当然,您也可以使用其它实现了 CQHTTP 接口的机器人应用,但因本项目使用了一些(可能是)go-cqhttp 独有的能力,很可能出现不兼容甚至发生错误的情况

  1. 访问 go-cqhttp 的 releases 页面,根据你的系统下载对应压缩包
  2. 解压并将可执行文件放到一个新建的空文件夹中
  3. 运行,程序将会生成配置文件,然后将程序关闭,参照文档说明填写配置,或从原 cq-http 配置自动迁移
  4. 确保配置正确后再次运行

配置注意事项

  1. 需使用正向 ws 方式连接
  2. 本项目目前只支持 post_message_formatstring

2. Node.js

Node.js 建议版本 > 10.16.0,一般情况下直接装当前的 LTS 版本即可,如有异常请尝试降级至 node 12 或 14 的最新版

3. 部署本项目

部署过程示例:

git clone https://github.com/Tsuk1ko/cq-picsearcher-bot.git
cd cq-picsearcher-bot
cp config.default.jsonc config.jsonc

# 安装依赖(选择下列其中一种方式即可)

## (1) 一般情况下
npm i

## (2) 更推荐使用 yarn
npm i -g yarn
yarn

## (3) 如果在国内部署,可以像这样设置使用淘宝镜像再 install

### (3.1) 使用 npm
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
npm i

### (3.2) 使用 yarn
npm i -g yarn --registry=https://registry.npm.taobao.org
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
yarn

注意此处(第三行)需要将config.default.jsonc复制一份,重命名为config.jsonc,然后编辑config.jsonc文件来配置本程序

Windows 系统在安装依赖时可能会执行以 node-pre-gyp 开头的编译命令,如果编译过程中出现错误,请使用 npm i -g windows-build-tools 全局安装编译依赖(yarn 则为 yarn global add windows-build-tools)后再试

配置文件说明

配置完成后先启动 go-cqhttp 再运行本程序

初次尝试部署建议直接使用npm run test命令直接前台启动,可以直接看到运行日志,如果有错误能方便地查看报错日志

修改配置后无需重启,可以使用配置热重载指令

确保使用上述命令执行没有发生错误后,结束前台进程,再使用下述后台守护方式运行

# 运行
npm start

# 停止
npm stop

# 重启
npm restart

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

错误排查

  1. 报错找不到模块说明依赖安装过程出了问题
    • 注意是否出现部署流程中提到的编译问题,解决后重新安装依赖
    • 尝试换用 yarn 及使用淘宝镜像重新安装依赖
    • 重新安装依赖前建议删除 node_modules 文件夹
    • 国内服务器可能出现网络问题,如果使用淘宝镜像源未能解决,可尝试挂全局透明代理或使用国外服务器再直接用官方源
  2. 连接失败报错请重点检查以下几个点
    • go-cqhttp 是否没启用 ws
    • 是否设置了 access_token 但两边不一致
    • 是否手贱动了 host 配置
  3. pm2 守护出现异常现象,例如机器人会重复发言等
    • 尝试执行以下命令
      npx pm2 kill
      npm start
      

检查更新

程序默认每隔一天检查一次更新,发现新版本会私聊 bot.admin 通知

该功能要求 git 版本高于 2.18.0,否则会出现错误(不影响 bot 运行),你可以修改 bot.checkUpdate 配置项来更改检查频率或关闭自动检查更新

检查更新仅作检查,并不会自动进行更新,更新操作仍然需要您手动完成

更新

你之前用哪个包管理器就用哪个来执行安装依赖的命令,不建议 npm 与 yarn 混用

npm run stop
git pull
npm i

阅读更新日志,如果配置文件有变更,可根据说明和自己的需要对照config.default.jsonc来更新你的config.jsonc,未配置的设置项将会取config.default.jsonc中的配置值

确认无误后启动程序

npm start