Skip to content

常见问题

神代綺凛 edited this page Dec 12, 2023 · 31 revisions

Q:有时候在群组中机器人没有反应,但酷Q日志中显示是发出去了
A:有以下两种情况:

  1. 若帐号不在常用地登录或是新号,会有隐性的单位时间内群聊发言数和发言内容限制,即风控,如果发言过于频繁达到上限则无法再发出消息,发非纯文字内容也有被屏蔽的可能,需要等待一段时间以解除限制,持续使用大概三到四天后被登记为常用地就会解除限制
  2. 有些敏感内容在群聊会被 tx 屏蔽,比如 setu,但私聊通常不会屏蔽,并且防和谐功能并不是万能的

Q:报错提示60233端口被占用
A:有可能是之前发生了某些意外导致前一次启动的机器人进程没有被完全结束,执行 npx pm2 kill,然后用任务管理器结束所有 node 进程后再试;如果还是这样,可能真的有那么巧某个进程占用了该端口,改一下配置中的bot.setu.pximgServerPort

Q:bot.searchLimit貌似没有效果
A:对bot.admin无限制

Q:启动时报正则表达式(regexp)相关错误
A:node 版本过低,请使用项目推荐的 node 版本

错误排查

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

其余问题参见部署流程-错误排查

Tips

  1. 移动设备与 PC 的隐私设置(例如是否允许群临时会话这类)是分开的,因此如果你的 go-cqhttp 使用的是移动设备协议,你需要在手机QQ中登录机器人帐号然后修改隐私设置

Ascii2d

OpenSSL 错误

如果遇到类似这样的错误

write EPROTO 140031419692928:error:1416D044:SSL routines:tls_process_key_exchange:internal error:../deps/openssl/openssl/ssl/statem/statem_clnt.c:2336:

请尝试:

  1. 修改配置 bot.cfTLSVersionTLSv1.2
  2. 如果 1 完成后 ascii2d 会 403,那么请修改 OpenSSL 配置文件 /etc/ssl/openssl.cnf,一般是在配置最后,或者搜一下
    - MinProtocol = TLSv1.2
    - CipherString = DEFAULT@SECLEVEL=2
    ---
    + MinProtocol = TLSv1
    + CipherString = DEFAULT@SECLEVEL=1
    然后将配置 bot.cfTLSVersion 改回 TLSv1.1并重启机器人
  3. 如果 2 无法解决问题或没有 OpenSSL 配置文件,请尝试更新 OpenSSL
  4. 如果以上方法均无法解决问题,请考虑启用使用 Puppeteer 绕过 cf js challenge

403 错误

请尝试修改配置 bot.cfTLSVersionTLSv1.2

Canvas

启动时报 skia.xxxx.node 相关问题,可尝试更换 canvas 库,见 配置文件说明 - 自定义 canvas 库