Push bilibili dynamics and live notifications to QQ with NoneBot2.
Project description
当前仓库已按 NoneBot 插件模板整理,可直接作为插件包发布到 PyPI 并在 NoneBot2 项目中安装使用。
配置发布工作流
- 前往 https://pypi.org/manage/account/#api-tokens 创建新的 PyPI API Token。
- 打开当前 GitHub 仓库的 Settings - Secrets and variables - Actions。
- 新建名为 PYPI_API_TOKEN 的 Repository Secret,并填入刚刚创建的 Token。
[!IMPORTANT] 当前项目使用符合 PEP 621 的 pyproject.toml,并已补充基于 tag 触发的 PyPI 发布工作流。
触发发布
创建 tag:
git tag v1.6.0post5
推送 tag:
git push origin --tags
📖 介绍
BiliLive 是一个基于 NoneBot2 的 B 站推送插件,支持将 UP 主的直播与动态消息推送到 QQ 群或私聊场景。当前项目已将发布名、插件入口、核心实现包和工作流统一整理为 nonebot-plugin-bililive,便于作为独立插件分发。
特性
- 支持按 UP 主维度分别开启或关闭动态、直播推送。
- 支持群内管理员权限控制,限制机器人使用范围。
- 支持直播或动态推送时尝试 @全体成员。
- 支持多 Bot 推送失败回退与基础异常清理。
- 支持 Playwright 截图与验证码服务接入。
💿 安装
使用 nb-cli 安装
在 NoneBot2 项目根目录执行:
nb plugin install nonebot-plugin-bililive
使用包管理器安装
在 nonebot2 项目的插件目录下, 打开命令行, 进入虚拟环境, 输入相应的安装命令pip install nonebot-plugin-bililive
打开 nonebot2 项目根目录下的 pyproject.toml 文件, 在 [tool.nonebot.plugins] 部分追加写入
nonebot-plugin-bililive = ["nonebot-plugin-bililive"]
⚙️ 配置
在 NoneBot2 项目的 .env 文件中按需添加配置项:
| 配置项 | 必填 | 默认值 | 说明 |
|---|---|---|---|
| BILILIVE_DIR | 否 | data | 数据目录 |
| BILILIVE_TO_ME | 否 | true | 是否需要 @机器人 或命令前缀触发 |
| BILILIVE_PROXY | 否 | 无 | HTTP 代理地址,用于 B 站请求和 Playwright 下载 |
| BILILIVE_INTERVAL | 否 | 10 | 默认轮询间隔,单位秒 |
| BILILIVE_LIVE_INTERVAL | 否 | 10 | 直播轮询间隔,单位秒 |
| BILILIVE_DYNAMIC_INTERVAL | 否 | 0 | 动态轮询间隔,单位秒,0 表示使用默认逻辑 |
| BILILIVE_DYNAMIC_AT | 否 | false | 动态推送时是否尝试 @全体 |
| BILILIVE_LIVE_OFF_NOTIFY | 否 | false | 是否推送下播通知 |
| BILILIVE_CAPTCHA_ADDRESS | 否 | https://captcha-cd.ngworks.cn | 验证码识别服务地址 |
| BILILIVE_CAPTCHA_TOKEN | 否 | bililive | 验证码服务 token |
| BILILIVE_DYNAMIC_TIMEOUT | 否 | 30 | 动态截图超时时间,单位秒 |
| BILILIVE_DYNAMIC_FONT_SOURCE | 否 | system | 截图字体来源 |
| BILILIVE_DYNAMIC_FONT | 否 | Noto Sans CJK SC | 截图字体 |
| BILILIVE_DYNAMIC_BIG_IMAGE | 否 | false | 是否优先展示大图 |
| BILILIVE_COMMAND_PREFIX | 否 | 空字符串 | 命令额外前缀 |
🎉 使用
指令表
| 指令 | 权限 | 需要@ | 范围 | 说明 |
|---|---|---|---|---|
| 帮助 | 群员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 查看帮助信息 |
| 关注 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 订阅指定 UP |
| 取关 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 取消订阅 |
| 关注列表 | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 查看当前订阅 |
| 开启直播 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 开启某 UP 的直播推送 |
| 关闭直播 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 关闭某 UP 的直播推送 |
| 开启动态 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 开启某 UP 的动态推送 |
| 关闭动态 UID | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 关闭某 UP 的动态推送 |
| 开启全体 UID | 管理员 | 视 BILILIVE_TO_ME 而定 | 群聊 | 开启直播推送 @全体 |
| 关闭全体 UID | 管理员 | 视 BILILIVE_TO_ME 而定 | 群聊 | 关闭直播推送 @全体 |
| 开启权限 | 管理员 | 视 BILILIVE_TO_ME 而定 | 群聊 | 限制仅管理员可使用 |
| 关闭权限 | 管理员 | 视 BILILIVE_TO_ME 而定 | 群聊 | 关闭管理员权限限制 |
| 已开播 | 群员/管理员 | 视 BILILIVE_TO_ME 而定 | 群聊/私聊 | 查看已开播关注列表 |
效果图
开发
本仓库保留了本地开发启动方式:
python bot.py
用于发布的插件入口模块为:
nonebot_plugin_bililive
致谢
许可证
本项目使用 GNU AGPLv3 作为开源许可证。
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nonebot_plugin_bililive-2.0.2.tar.gz.
File metadata
- Download URL: nonebot_plugin_bililive-2.0.2.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.26.7 CPython/3.12.3 Linux/6.17.0-1010-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b03c435802fe073d3785e1ddc89dc5055190efc42c2bfd34321d95ded0f5decf
|
|
| MD5 |
c5bba86023521d7c47b785f76c197fca
|
|
| BLAKE2b-256 |
c91672c73cb0353f7ce01679d4e121bc6aa4b6f4bc1a926b71aa0a3f9315b030
|
File details
Details for the file nonebot_plugin_bililive-2.0.2-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_bililive-2.0.2-py3-none-any.whl
- Upload date:
- Size: 56.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: pdm/2.26.7 CPython/3.12.3 Linux/6.17.0-1010-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f889e32de3d94f5d3cae2b3420201f6ff4bbed95726db82a0815f23b33f3fa3
|
|
| MD5 |
821542136e89295824bb42da27c5c6ab
|
|
| BLAKE2b-256 |
3e4344c1887f3d721b9a9cc1a06ee9f5d41b222416b28bec47bca5de2ec6ca36
|