/BBot-Graia

一个使用 gRPC 接口用于 QQ 群内高效推送 BiliBili 动态和直播的机器人

Primary LanguagePythonGNU Affero General Public License v3.0AGPL-3.0

BBot-Graia

BBot for Ariadne

GitHub Repo stars GitHub forks

GitHub Workflow Status GitHub release (latest by date) GitHub all releases Platform

License wakatime QQ

Python Version Poetry Using Code style: black Docker Image Size (latest by date)

!

基于 Graia-Ariadne 搭建的高效、高性能哔哩哔哩推送 QQ 机器人

BBot
B,是 26 个英文字母里的第二个,可意为我个人的第二个机器人
B,也代表 BiliBili,这个 Bot 将专注于哔哩哔哩的推送等服务

BBot 现在能干什么

  • 订阅 UP 主 废话
  • 推送直播(开播及下播)废话
  • 推送动态 废话
  • 视频链接解析

特色

  • 大量使用并发 gRPC 接口,推送效率远超使用 REST Api 的哔哩哔哩机器人且目前未见有风控(-421)风险
  • 使用登录和非登录两种方案,对于财大气粗的用户可以登录后再次提升效率 不建议使用
  • 动态使用 Web 端截图,虽然会吃那么点性能,但这都是值得的
  • 可自由配置是否在群内 @全体成员、对于直播和动态的分别控制等
  • 可针对不同群聊对订阅的 UP 主进行昵称替换
  • 可限制每个群可订阅的最大 UP 主数量

使用

pip 一键安装

 > pip install aunly-bbot
 > bbot 

   Usage: bbot [OPTIONS] COMMAND [ARGS]...

   Options:
   --help  Show this message and exit.

   Commands:
   config  BBot 配置向导
   run     运行 BBot

 > bbot run

BBot 使用文档

Docker 部署请查看 这里

TODO

  • 增加群内配置功能
  • 增加菜单(/help 指令)
  • 使用数据库存储推送记录
  • 增加动态自动点赞功能
  • 支持 up 全名搜索
  • 增加可选的动态推送样式(App 样式)
  • 定时刷新 token,防止过期
  • 针对 Windows 和 Linux 平台,增加 Release 打包版本
  • 增加非登录式的推送更新逻辑
  • 更换 BiliBili 请求库为更成熟的 BiliReq
  • 可能会增加不需要浏览器的动态截图获取方式
  • 增加 Docker 部署方案
  • 自定义动态页字体
  • 上传至 PyPI 并支持 CLI 方式启动
  • 增加 Web 端管理界面
  • 增加简单的推送数据分析及报告
  • 丰富管理员指令
  • 增加订阅组(同时订阅多个设定好的 up,如 和谐有爱五人组...)
  • 可能会增加其他平台的推送

More...

感谢

Stargazers over time

Stargazers over time