/bgmi-qbot

基于python-aiocqhttp 的BGmi QQ机器人

Primary LanguagePython

BGmi-qbot

由于底层框架 coolq 即将停止服务,本项目将不再维护

基于python-aiocqhttp 的BGmi QQ机器人 目前实现的功能

  • BGmi 站点的番组出现更新时的QQ通知
  • 管理(增/删)通知发往讨论组/群
  • 其他的还没想好做啥。。(

环境要求

由于使用了二进制分发的coolq所以对CPU架构有要求 其他的需要的依赖基本上都可以在docker里完成

  • Docker环境
  • X86_64CPU架构(由于依赖的coolq的程序需要运行于X86_64之上)
  • docker-composer (建议,用于编排容器)

部署安装

建议使用docker-composer进行容器编排

一个docker-compose.yml的例子

version: '3'
services:
  bgmi-qbot:
    build:
      context: .
    environment:
      - admin_qq=<Admin QQ Account>
      - log_level=ERROR
      - bgmi_api=<bgmi index api address>
    volumes:
      - ./data:/data

  cqhttp:
    image: richardchien/cqhttp
    environment:
      - VNC_PASSWD=<vncpassword>
      - COOLQ_ACCOUNT=<Bot QQ Account>
      - CQHTTP_SERVE_DATA_FILES=true
      - CQHTTP_USE_HTTP=false
      - CQHTTP_USE_WS_REVERSE=true
      - CQHTTP_WS_REVERSE_URL=ws://bgmi-qbot:8080/ws/
    volumes:
      - ./.coolq:/home/user/coolq
    ports:
      - 9000:9000

有几个环境变量需要在docker-compose配置文件中指定

变量名 含义 必须 默认值
api_root CoolQHttpApi的url False
enable_http_post 是否启用CoolQHttpApi(不启用是使用websocket反向连接) False
access_token CoolQ Access_Token False
secret CoolQ secret False
admin_qq 管理员的Q号 * None
enable_public_command 公共指令的开放等级(Always总是开放/Subscriber对订阅的群与讨论组开放/Never永不) Always
log_level 日志等级(ERROR/WARNING/INFO/DEBUG) ERROR
bgmi_api BGmi首页api的url http://127.0.0.1/api/index
VNC_PASSWD CoolQ容器的noVNC服务密码 * 见richardchien/cqhttp项目
COOLQ_ACCOUNT QQ机器人的Q号 * 见richardchien/cqhttp项目
CQHTTP_SERVE_DATA_FILES 与示例保持一致 * 见richardchien/cqhttp项目
CQHTTP_USE_WS_REVERSE 与示例保持一致 * 见richardchien/cqhttp项目
CQHTTP_WS_REVERSE_URL 与示例保持一致 * 见richardchien/cqhttp项目

做好docker-compose.yml配置文件后

docker-compose up -d

启动服务 启动时可以通过docker-compose logs查看启动日志

启动完成后访问http://<部署服务器ip>:9000访问coolq的noVNC服务完成QQ登录

使用方式

用管理员账号私聊机器人 或在将机器人加入讨论组/群 均可使用管理指令

管理员指令

  • /set 将当前 讨论组/群 加入到番组更新的通知列表中
  • /getlist 获取当前所有接受通知的 讨论组/群
  • /remove <discuss/group> <id> [<id>...] 从通知列表中删除 讨论组/群
  • 待更新

用户指令

  • /ping 返回pong 用来确认机器人程序是否在线
  • /status 获取当前订阅的番剧的更新状态
  • 待更新