项目作者: codysk

项目描述 :
基于python-aiocqhttp 的BGmi QQ机器人
高级语言: Python
项目地址: git://github.com/codysk/bgmi-qbot.git
创建时间: 2018-12-13T10:32:34Z
项目社区:https://github.com/codysk/bgmi-qbot

开源协议:

下载


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的例子

  1. version: '3'
  2. services:
  3. bgmi-qbot:
  4. build:
  5. context: .
  6. environment:
  7. - admin_qq=<Admin QQ Account>
  8. - log_level=ERROR
  9. - bgmi_api=<bgmi index api address>
  10. volumes:
  11. - ./data:/data
  12. cqhttp:
  13. image: richardchien/cqhttp
  14. environment:
  15. - VNC_PASSWD=<vncpassword>
  16. - COOLQ_ACCOUNT=<Bot QQ Account>
  17. - CQHTTP_SERVE_DATA_FILES=true
  18. - CQHTTP_USE_HTTP=false
  19. - CQHTTP_USE_WS_REVERSE=true
  20. - CQHTTP_WS_REVERSE_URL=ws://bgmi-qbot:8080/ws/
  21. volumes:
  22. - ./.coolq:/home/user/coolq
  23. ports:
  24. - 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配置文件后

  1. docker-compose up -d

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

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

使用方式

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

管理员指令

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

用户指令

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