{"id":14997568,"url":"https://github.com/djkcyl/bbot-graia","last_synced_at":"2025-04-14T03:53:10.366Z","repository":{"id":38108669,"uuid":"496085889","full_name":"djkcyl/BBot-Graia","owner":"djkcyl","description":"一个使用 gRPC 接口用于 QQ 群内高效推送 BiliBili 动态和直播的 Graia 机器人","archived":false,"fork":false,"pushed_at":"2023-10-05T09:46:49.000Z","size":4826,"stargazers_count":4,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T14:15:43.474Z","etag":null,"topics":["ariadne","bilibili","bilibili-api","fastapi","graia","graia-ariadne","graia-framework","graiaproject","grpc","grpc-python","playwright","qq","qq-bot","qqbot","webui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djkcyl.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-05-25T04:48:49.000Z","updated_at":"2025-04-04T07:05:47.000Z","dependencies_parsed_at":"2022-07-08T01:40:39.113Z","dependency_job_id":"4ef23f07-ba24-4f59-a85d-52747a656445","html_url":"https://github.com/djkcyl/BBot-Graia","commit_stats":{"total_commits":277,"total_committers":6,"mean_commits":"46.166666666666664","dds":0.2635379061371841,"last_synced_commit":"f69799962cb670392e792e42024ee0d42f870ac9"},"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djkcyl%2FBBot-Graia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djkcyl%2FBBot-Graia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djkcyl%2FBBot-Graia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djkcyl%2FBBot-Graia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djkcyl","download_url":"https://codeload.github.com/djkcyl/BBot-Graia/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248819363,"owners_count":21166474,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ariadne","bilibili","bilibili-api","fastapi","graia","graia-ariadne","graia-framework","graiaproject","grpc","grpc-python","playwright","qq","qq-bot","qqbot","webui"],"created_at":"2024-09-24T17:04:25.502Z","updated_at":"2025-04-14T03:53:10.347Z","avatar_url":"https://github.com/djkcyl.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![BBot-Graia](https://socialify.git.ci/djkcyl/BBot-Graia/image?description=1\u0026font=Inter\u0026logo=https%3A%2F%2Fgithub.com%2Fdjkcyl%2FBBot%2Fblob%2Fmaster%2Flogo.png%3Fraw%3Dtrue\u0026owner=1\u0026pattern=Circuit%20Board\u0026theme=Dark)\n  \n# BBot for Ariadne\n![GitHub Repo stars](https://img.shields.io/github/stars/djkcyl/BBot-Graia?style=social)\n![GitHub forks](https://img.shields.io/github/forks/djkcyl/BBot-Graia?style=social)\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/djkcyl/BBot-Graia/release.yml?branch=master)\n![GitHub release (latest by date)](https://img.shields.io/github/v/release/djkcyl/BBot-Graia?color=brightgreen)\n![GitHub all releases](https://img.shields.io/github/downloads/djkcyl/BBot-Graia/total)\n![Platform](https://img.shields.io/badge/platform-linux_%7C_windows-lightgrey)\n\n[![License](https://img.shields.io/github/license/djkcyl/BBot-Graia)](https://github.com/djkcyl/BBot-Graia/blob/master/LICENSE)\n[![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)\n![QQ](https://img.shields.io/badge/Tencent_QQ-2948531755-ff69b4)\n\n![Python Version](https://img.shields.io/badge/python-3.9-blue)\n[![pdm-managed](https://img.shields.io/badge/pdm-managed-blueviolet)](https://pdm.fming.dev)\n[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)\n![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/djkcyl/bbot)\n\n![!](https://count.getloli.com/get/@BBot-Graia?theme=rule34)\n\n基于 [Graia-Ariadne](../../../../GraiaProject/Ariadne) 搭建的高效、高性能哔哩哔哩推送 [QQ](../../../../project-mirai/mirai-api-http) 机器人\n\n```text\nBBot\nB，是 26 个英文字母里的第二个，可意为我个人的第二个机器人\nB，也代表 BiliBili，这个 Bot 将专注于哔哩哔哩的推送等服务\n```\n\n\u003c/div\u003e\n\n## 🤖 BBot 现在能干什么\n\n- 订阅 UP 主 ~~废话~~\n- 推送直播（开播及下播）~~废话~~\n- 推送动态 ~~废话~~\n- 视频链接解析\n\n## 🌟 特色\n\n- 大量使用并发 **gRPC 接口**，推送效率远超使用 REST Api 的哔哩哔哩机器人且目前未见有风控（-421）风险\n- ~~使用登录和非登录两种方案，对于财大气粗的用户可以登录后再次提升效率~~ **不建议使用**\n- 动态使用 Web 端截图，虽然会吃那么点性能，~~但这都是值得的~~\n- 可自由配置是否在群内 @全体成员、对于直播和动态的分别控制等\n- 可针对不同群聊对订阅的 UP 主进行昵称替换\n- 可限制每个群可订阅的最大 UP 主数量\n- 视频解析可使用 OpenAI ChatGPT 进行内容总结\n- 内存少的话可以使用 Lite 版来减少部分依赖的占用\n\n## 🛠️ 使用\n\npip 一键安装\n\n```shell\n \u003e pip install aunly-bbot\n \u003e bbot \n\n   Usage: bbot [OPTIONS] COMMAND [ARGS]...\n\n   Options:\n   --help  Show this message and exit.\n\n   Commands:\n   config  BBot 配置向导\n   run     运行 BBot\n\n \u003e bbot run\n```\n\n\n**[BBot 使用文档](https://github.com/djkcyl/BBot-Graia/wiki)**\n\nDocker 部署请查看 [这里](https://github.com/djkcyl/BBot-Graia/wiki/Docker)\n\n## 📝 TODO\n\n- [x] 增加群内配置功能\n- [x] 增加菜单（/help 指令）\n- [x] 使用数据库存储推送记录\n- [x] 增加动态自动点赞功能\n- [x] 支持 up 全名搜索\n- [x] 增加可选的动态推送样式（App 样式）\n- [x] 定时刷新 token，防止过期\n- [x] 针对 Windows 和 Linux 平台，增加 Release 打包版本\n- [x] 增加非登录式的推送更新逻辑\n- [x] 更换 BiliBili 请求库为更成熟的 [BiliReq](../../../../SK-415/bilireq)\n- [x] 可能会增加不需要浏览器的动态截图获取方式\n- [x] 增加 Docker 部署方案\n- [x] 自定义动态页字体\n- [x] 上传至 PyPI 并支持 CLI 方式启动\n- [x] 迁移至 PDM\n- [x] 增加针对视频和专栏解析的内容总结，支持 ChatGPT 和 WordCloud 两种模式\n- [x] 字体修改为网络获取，缩小程序体积\n- [x] 增加 Lite 版本，不包含浏览器等依赖\n- [ ] **增加 Web 端管理界面**\n- [ ] 增加简单的推送数据分析及报告\n- [ ] 丰富管理员指令\n- [ ] 增加订阅组（同时订阅多个设定好的 up，如 `和谐有爱五人组`...）\n- [ ] ~~可能会增加其他平台的推送~~\n\n\nMore...\n\n## 🙏 感谢\n\n- [HarukaBot](../../../../SK-415/HarukaBot) 学习对象\n- [bilibili-API-collect](../../../../SocialSisterYi/bilibili-API-collect) 易姐收集的各种 BiliBili Api 及其提供的 gRPC Api 调用方案\n- [ABot-Graia](../../../../djkcyl/ABot-Graia) 永远怀念最好的 ABot 🙏\n- [Well404](https://space.bilibili.com/33138220/) 为本项目编写文档以及部署教程[视频](https://www.bilibili.com/video/BV16B4y137sx)\n- [八萬](https://space.bilibili.com/8027000) 项目 Logo 画师\n\n## ⏳ Star 趋势\n\n[![Stargazers over time](https://starchart.cc/djkcyl/BBot-Graia.svg)](https://starchart.cc/djkcyl/BBot-Graia)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjkcyl%2Fbbot-graia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjkcyl%2Fbbot-graia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjkcyl%2Fbbot-graia/lists"}