Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/djkcyl/BBot-Graia
一个使用 gRPC 接口用于 QQ 群内高效推送 BiliBili 动态和直播的 Graia 机器人
https://github.com/djkcyl/BBot-Graia
ariadne bilibili bilibili-api fastapi graia graia-ariadne graia-framework graiaproject grpc grpc-python playwright qq qq-bot qqbot webui
Last synced: about 2 months ago
JSON representation
一个使用 gRPC 接口用于 QQ 群内高效推送 BiliBili 动态和直播的 Graia 机器人
- Host: GitHub
- URL: https://github.com/djkcyl/BBot-Graia
- Owner: djkcyl
- License: agpl-3.0
- Created: 2022-05-25T04:48:49.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2023-10-05T09:46:49.000Z (about 1 year ago)
- Last Synced: 2024-04-27T02:26:23.777Z (8 months ago)
- Topics: ariadne, bilibili, bilibili-api, fastapi, graia, graia-ariadne, graia-framework, graiaproject, grpc, grpc-python, playwright, qq, qq-bot, qqbot, webui
- Language: Python
- Homepage:
- Size: 4.6 MB
- Stars: 128
- Watchers: 4
- Forks: 14
- Open Issues: 2
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
- awesome-bilibili-extra - BBot-Graia - 一个使用 gRPC 接口用于 QQ 群内高效推送 BiliBili 动态和直播的机器人.![Python](svg/python.svg?raw=true) (机器人 / 直播脚本)
README
![BBot-Graia](https://socialify.git.ci/djkcyl/BBot-Graia/image?description=1&font=Inter&logo=https%3A%2F%2Fgithub.com%2Fdjkcyl%2FBBot%2Fblob%2Fmaster%2Flogo.png%3Fraw%3Dtrue&owner=1&pattern=Circuit%20Board&theme=Dark)
# BBot for Ariadne
![GitHub Repo stars](https://img.shields.io/github/stars/djkcyl/BBot-Graia?style=social)
![GitHub forks](https://img.shields.io/github/forks/djkcyl/BBot-Graia?style=social)![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/djkcyl/BBot-Graia/release.yml?branch=master)
![GitHub release (latest by date)](https://img.shields.io/github/v/release/djkcyl/BBot-Graia?color=brightgreen)
![GitHub all releases](https://img.shields.io/github/downloads/djkcyl/BBot-Graia/total)
![Platform](https://img.shields.io/badge/platform-linux_%7C_windows-lightgrey)[![License](https://img.shields.io/github/license/djkcyl/BBot-Graia)](https://github.com/djkcyl/BBot-Graia/blob/master/LICENSE)
[![wakatime](https://wakatime.com/badge/user/917ecbcb-b65c-4618-bb8d-9b2599e7a50f/project/a30b1fe9-dd2a-4539-b9fe-7ca124a2749e.svg)](https://wakatime.com/badge/user/917ecbcb-b65c-4618-bb8d-9b2599e7a50f/project/a30b1fe9-dd2a-4539-b9fe-7ca124a2749e)
![QQ](https://img.shields.io/badge/Tencent_QQ-2948531755-ff69b4)![Python Version](https://img.shields.io/badge/python-3.9-blue)
[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/djkcyl/bbot)![!](https://count.getloli.com/get/@BBot-Graia?theme=rule34)
基于 [Graia-Ariadne](../../../../GraiaProject/Ariadne) 搭建的高效、高性能哔哩哔哩推送 [QQ](../../../../project-mirai/mirai-api-http) 机器人
```text
BBot
B,是 26 个英文字母里的第二个,可意为我个人的第二个机器人
B,也代表 BiliBili,这个 Bot 将专注于哔哩哔哩的推送等服务
```## 🤖 BBot 现在能干什么
- 订阅 UP 主 ~~废话~~
- 推送直播(开播及下播)~~废话~~
- 推送动态 ~~废话~~
- 视频链接解析## 🌟 特色
- 大量使用并发 **gRPC 接口**,推送效率远超使用 REST Api 的哔哩哔哩机器人且目前未见有风控(-421)风险
- ~~使用登录和非登录两种方案,对于财大气粗的用户可以登录后再次提升效率~~ **不建议使用**
- 动态使用 Web 端截图,虽然会吃那么点性能,~~但这都是值得的~~
- 可自由配置是否在群内 @全体成员、对于直播和动态的分别控制等
- 可针对不同群聊对订阅的 UP 主进行昵称替换
- 可限制每个群可订阅的最大 UP 主数量
- 视频解析可使用 OpenAI ChatGPT 进行内容总结
- 内存少的话可以使用 Lite 版来减少部分依赖的占用## 🛠️ 使用
pip 一键安装
```shell
> pip install aunly-bbot
> bbotUsage: bbot [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.Commands:
config BBot 配置向导
run 运行 BBot> bbot run
```**[BBot 使用文档](https://github.com/djkcyl/BBot-Graia/wiki)**
Docker 部署请查看 [这里](https://github.com/djkcyl/BBot-Graia/wiki/Docker)
## 📝 TODO
- [x] 增加群内配置功能
- [x] 增加菜单(/help 指令)
- [x] 使用数据库存储推送记录
- [x] 增加动态自动点赞功能
- [x] 支持 up 全名搜索
- [x] 增加可选的动态推送样式(App 样式)
- [x] 定时刷新 token,防止过期
- [x] 针对 Windows 和 Linux 平台,增加 Release 打包版本
- [x] 增加非登录式的推送更新逻辑
- [x] 更换 BiliBili 请求库为更成熟的 [BiliReq](../../../../SK-415/bilireq)
- [x] 可能会增加不需要浏览器的动态截图获取方式
- [x] 增加 Docker 部署方案
- [x] 自定义动态页字体
- [x] 上传至 PyPI 并支持 CLI 方式启动
- [x] 迁移至 PDM
- [x] 增加针对视频和专栏解析的内容总结,支持 ChatGPT 和 WordCloud 两种模式
- [x] 字体修改为网络获取,缩小程序体积
- [x] 增加 Lite 版本,不包含浏览器等依赖
- [ ] **增加 Web 端管理界面**
- [ ] 增加简单的推送数据分析及报告
- [ ] 丰富管理员指令
- [ ] 增加订阅组(同时订阅多个设定好的 up,如 `和谐有爱五人组`...)
- [ ] ~~可能会增加其他平台的推送~~More...
## 🙏 感谢
- [HarukaBot](../../../../SK-415/HarukaBot) 学习对象
- [bilibili-API-collect](../../../../SocialSisterYi/bilibili-API-collect) 易姐收集的各种 BiliBili Api 及其提供的 gRPC Api 调用方案
- [ABot-Graia](../../../../djkcyl/ABot-Graia) 永远怀念最好的 ABot 🙏
- [Well404](https://space.bilibili.com/33138220/) 为本项目编写文档以及部署教程[视频](https://www.bilibili.com/video/BV16B4y137sx)
- [八萬](https://space.bilibili.com/8027000) 项目 Logo 画师## ⏳ Star 趋势
[![Stargazers over time](https://starchart.cc/djkcyl/BBot-Graia.svg)](https://starchart.cc/djkcyl/BBot-Graia)