机器人搭建记录 yobot(Linux&Windows手动搭建)

前段时间又手动把PCR机器人自己搭建了一下. 因为某些不可控制的因素酷Q暂时停运了, 我发现开发人员采用了CQHTTP来代替酷Q. 想来也是同一个内部的接口API. 将踩坑和搭建的过程记录如下,以飨后继者.


搭建需求
  • go-cqhttp
  • yobot
  • python3
  • docker(仅docker化安装需求)

go-cqhttp

github项目地址:https://github.com/Mrs4s/go-cqhttp/releases/

直接编译安装的话猜测需要go语言运行环境. 推荐直接根据自己的运行环境选择编译后的二进制文件直接运行.

  • 初始化
    不论是Winodws还是Mac或者Linux. 其第一次运行时都会进行初始化操作.
    运行初始化后,会报告如下内容:
./go-cqhttp

随后会生成一些列的默认文件.

localhost:current sean$ ls -lrt
total 34656
-rwxr-xr-x@ 1 sean  staff  17725952 10 27 18:46 go-cqhttp
drwxr-xr-x  6 sean  staff       192 11  3 20:25 data
-rw-r--r--  1 sean  staff       348 11  3 20:28 device.json
drwxr-xr-x  3 sean  staff        96 11  3 20:28 codec
drwxr-xr-x  4 sean  staff       128 11  4 20:45 logs
-rw-r--r--@ 1 sean  staff       965 11  4 20:45 config.json

其中比较重要的文件为config.json. 其初始化文件为:

{
  "uin": 0, "←--------------------注释1": "作为机器人的 QQ 号",
  "password": "", "←--------------注释2": "作为机器人的 QQ 密码",
  "encrypt_password": false,
  "password_encrypted": "",
  "enable_db": false, "←----------注释3": "内置数据库,yobot 不需要,某些其他插件可能需要",
  "access_token": "", "←----------注释4": "这里也可以填写事先准备好的 access_token",
  "relogin": {
    "enabled": true,
    "relogin_delay": 3,
    "max_relogin_times": 0
  },
  "_rate_limit": {
    "enabled": false,
    "frequency": 1,
    "bucket_size": 1
  },
  "post_message_format": "string",
  "ignore_invalid_cqcode": false,
  "force_fragmented": true,
  "heartbeat_interval": 5,
  "http_config": {
    "enabled": false
  },
  "ws_config": {
    "enabled": false
  },
  "ws_reverse_servers": [
    {
      "enabled": true,
      "reverse_url": "ws://localhost:9222/ws/",
      "reverse_reconnect_interval": 3000
    }
  ]
}

根据要求更改结束后,重启脚本即可。其中uinpassword为机器人账户的QQ号和密码. "reverse_url": "ws://localhost:9222/ws/",为需求webservice通信的地址, 这通常写的是yobot或者其他bot类型的通信地址.

值得注意的有如下几点:

  • 新注册的QQ号至少要挂在服务器上一周以上.否则会被不可抗力量封禁. 懂得都懂.
  • 使用Windows服务器端时, 会需求输入验证码和手机验证. 需要注意.
  • 当出现cannot execute binary file时. 表示你的二进制运行文件没有根据你的运行环境选择,重新选择正确的端即可.

以上. 当出现类似如下log信息时, 表明你的go-cqhttp已经成功运行.

localhost:current sean$ ./go-cqhttp
[2020-11-04 20:45:45] [INFO]: 当前版本:v0.9.29-fix2
[2020-11-04 20:45:45] [INFO]: 将使用 device.json 内的设备信息运行Bot.
[2020-11-04 20:45:45] [INFO]: Bot将在5秒后登录并开始信息处理, 按 Ctrl+C 取消.
[2020-11-04 20:45:50] [INFO]: 开始尝试登录并同步消息...
[2020-11-04 20:45:50] [INFO]: 使用协议: Android Pad
[2020-11-04 20:45:50] [INFO]: Protocol -> connect to server: 120.232.18.228:8080
[2020-11-04 20:45:51] [INFO]: 登录成功 欢迎使用: 贪吃Peko
[2020-11-04 20:45:52] [INFO]: 开始加载好友列表...
[2020-11-04 20:45:52] [INFO]: 共加载 3 个好友.
[2020-11-04 20:45:52] [INFO]: 开始加载群列表...
[2020-11-04 20:45:52] [INFO]: 共加载 2 个群.
[2020-11-04 20:45:52] [WARNING]: 警告: 信息数据库已关闭,将无法使用 [回复/撤回] 等功能。
[2020-11-04 20:45:52] [INFO]: 正在加载事件过滤器.
[2020-11-04 20:45:52] [WARNING]: 事件过滤器启动失败: open filter.json: no such file or directory
[2020-11-04 20:45:52] [INFO]: 正在加载silk编码器...
[2020-11-04 20:45:52] [INFO]: 资源初始化完成, 开始处理信息.
[2020-11-04 20:45:52] [INFO]: アトリは、高性能ですから!
[2020-11-04 20:45:52] [INFO]: 开始尝试连接到反向Websocket Universal服务器: ws://0.0.0.0:8080/ws/
[2020-11-04 20:45:54] [INFO]: 收到服务器地址更新通知, 将在下一次重连时应用.
  • 出现如下警告信息是正常情况. 因为, 此时你的yobot还没有进行配置.(当yobot启动成功后,还出现类似报错为非正常情况.)
[2020-11-04 20:46:01] [WARNING]: 监听反向WS API时出现错误: websocket: close 1000 (normal)
[2020-11-04 20:46:02] [WARNING]: 向WS服务器 127.0.0.1:8080 推送Event时出现错误: websocket: close sent
[2020-11-04 20:46:05] [INFO]: 开始尝试连接到反向Websocket Universal服务器: ws://0.0.0.0:8080/ws/
[2020-11-04 20:46:05] [WARNING]: 连接到反向Websocket Universal服务器 ws://0.0.0.0:8080/ws/ 时出现错误: dial tcp 0.0.0.0:8080: connect: connection refused
[2020-11-04 20:46:08] [INFO]: 开始尝试连接到反向Websocket Universal服务器: ws://0.0.0.0:8080/ws/

yobot

yobot是一款简洁的pcr公会战机器人. 主要分为QQ网页端2个部分.

github地址:https://github.com/pcrbot/yobot
相关主页地址:https://www.pcrbot.com/

安装和启动yobot也非常简单.

  • 步骤1:拉取代码&项目

不论你使用zip包方式还是git拉取的方式都可以.

  • 步骤2:使用pip3安装相关依赖包
cd yobot/src/client/
pip3 install -r requirment.txt
# 如果国内用户 可以加上代理(根据安装手册)
# 国内可加上参数 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 步骤3:启动程序
python3 main.py
  • 验证


Others

此外. 官方推荐使用docker进行安装和运维. 这比较适合熟练使用docker的人员.


Reference

[1]. Linux 使用 cqhttp-mirai 部署

[2]. https://github.com/Mrs4s/go-cqhttp/releases/

[3]. https://github.com/pcrbot/yobot

[4]. https://www.pcrbot.com/

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐