Skip to content

部署 Bot

完成上述的一系列环境安装,终于到了 Bot 的部署环节!

对接驱动器

首先,你需要修改代码文件中的端口号,使 Bot 与之前所配置的驱动器(go-cqhttp)相对接。

假设在 go-cqhttp 目录下的 config.yml 中配置如下:

- http:
      address: 127.0.0.1:5700
      ...
      post:  
      - url: http://127.0.0.1:5701/ 

接收端口号为 5700 ,反向 POST 端口号为 5701 。对应修改 utils/basicConfig.py 如下:

HTTP_URL = "http://127.0.0.1:5700"

修改 main.py 中最后一行如下:

if __name__ == '__main__':
    app.run(host="127.0.0.1", port=5701)

账号相关配置

完成对接后,请继续修改 utils/basicConfig.py。其中部分需要修改的部分示例如下:

ROOT_ADMIN_ID=[# 在这里面的QQ号是ROOT用户
    123,  # 这个QQ号只是一个示例
    456,  # 这个QQ号只是一个示例
]

WARNING_ADMIN_ID = [# 在这里面的QQ号会收到BOT的warning
    123,  # 这个QQ号只是一个示例
    789,  # 这个QQ号只是一个示例
]

# 下面这两个东西是gocq掉线的时候watchdog发邮件用的
MAIL_USER = 'xxxxxxxx@qq.com'  # 请参考QQ邮箱pop3发送方法
MAIL_PASS = 'xxxxxxxxxxxxxxx'

# BOT自己的QQ **很重要,一定要改**
BOT_SELF_QQ=12345   # 这个QQ号只是一个示例

sqlConfig = { # mysql配置
    'host': '127.0.0.1', # mysql网络地址,127.0.0.1表示部署在本机的sql
    'user': '***',       # mysql用户名
    'passwd': '*****',   # mysql密码
    'port': 3306,        # mysql端口,默认3306,非3306端口需要填写此字段
}

以上各常量的具体解释如下:

常量名称 描述 取值 取值说明 备注
APPLY_GROUP_ID 响应群列表 list型变量 表示指定 Bot 响应的群聊号码 如 Bot 加入某群但列表中无此群群号,则 Bot 对该群所有信息均不做响应
ROOT_ADMIN_ID 超级管理员列表 list型变量 表示超级管理员的 QQ 号码 超级管理员可以接收运行时警告,并通过命令配置各个群聊的启用插件、为各个群聊添加 Bot 管理员
BOT_SELF_QQ Bot 自身账号 int型变量 表示 Bot 自身 QQ 号
VERSION_TXT 版本信息 str型变量 表示当前 Bot 的版本号和更新描述等 该信息将在收到 -test status 信息时回复
sqlConfig SQL 凭证 dict型变量 表示连接 MySQL 的凭证 连接 MySQL 所需的地址、账号(通常是root)、密码
TXT_PERMISSION_DENIED 无权限信息 str型变量 表示 Bot 功能未开启时的回复 该信息将在用户试图使用 Bot 未开启功能时回复(设置为空,可适当减少刷屏)

启动 Bot

完成上述配置后,恭喜你,你可以启动 Bot 了!输入以下命令启动 Bot :

python main.py

提示:后台运行与多终端管理

Linux环境下,推荐使用 tmux 管理终端,并在 tmux 中新建一个 session 以后台运行 bot

main.py 所在终端在启用 Bot 的群有新信息时有输出且切换至 go-cqhttp 所在终端不再输出“上报错误”,则说明 Bot 与驱动器连接成功。你可以在启用 Bot 的群发送 -test status 命令,观察 Bot 是否回应以进一步测试。