B站动态/直播推送 NoneBot2 插件(基于 Colter23/mirai 插件移植)
Project description
NoneBot2 B站动态推送插件
基于 Colter23/bilibili-dynamic-mirai-plugin 移植的 NoneBot2 版本。
低延迟检测 B 站动态/直播并推送到 QQ 群/私聊。
功能
- ✅ 动态检测(图文/视频/专栏/转发等)
- ✅ 直播检测(开播推送)
- ✅ 群/私聊订阅管理
- ✅ 支持 @全体 配置(按动态类型)
- ✅ 动态过滤(类型黑名单/正则黑白名单)
- ✅ 管理员指令
- 🚧 图片渲染(后续版本加入)
- 🚧 推送模板系统(后续版本完善)
安装
方式一:pip 安装(推荐)
pip install nonebot-plugin-bili-dynamic
方式二:本地安装
cd nonebot-plugin-bili-dynamic
pip install -e .
然后在 bot.py 中加载:
nonebot.load_plugin("nonebot_plugin_bili_dynamic")
配置
在 .env 或 .env.prod 中添加:
# ========== B站账号(必需) ==========
# SESSDATA 从浏览器 Cookie 中获取
# 获取方法:登录B站 -> F12 -> Application -> Cookies -> www.bilibili.com -> SESSDATA
bili_account__sessdata="你的SESSDATA"
bili_account__bili_jct="你的bili_jct"
# ========== 检测间隔 ==========
check__interval=30 # 动态检测间隔(秒,默认30,最低10)
check__live_interval=20 # 直播检测间隔(秒,默认20)
# ========== 推送配置 ==========
push__max_images=4 # 推送最大图片数
push__text_only=false # 仅文本推送(不发送图片)
# ========== 过滤配置 ==========
filter__enable=true
filter__blacklist_types=["转发"]
# ========== 管理员 ==========
superusers=["123456789"] # 管理员QQ号列表
# ========== 调试 ==========
debug=false
⚠️ 重要:没有 SESSDATA 时 B 站 API 返回的数据可能不完整(仅3条评论/动态),强烈建议配置!
指令
| 指令 | 别名 | 说明 | 权限 |
|---|---|---|---|
/bili help |
帮助 |
查看帮助 | 所有人 |
/bili add <UID> |
订阅 |
添加订阅 | 所有人 |
/bili del <UID> |
取消订阅 |
删除订阅 | 所有人 |
/bili list |
订阅列表 |
查看当前订阅 | 所有人 |
/bili live <UID> |
直播状态 |
查询直播状态 | 所有人 |
/bili new <UID> [n] |
最新动态 |
查看最新n条动态 | 所有人 |
/bili listall |
全部订阅 |
查看所有订阅 | 超级用户 |
/bili clear |
- | 清理失效订阅 | 超级用户 |
使用示例
# 订阅 UP 主 "小小桃纸哟"(UID: 6867955)
/bili add 6867955
# 查看订阅列表
/bili list
# 查询该 UP 直播状态
/bili live 6867955
# 查看最近3条动态
/bili new 6867955 3
# 取消订阅
/bili del 6867955
推送效果
文本推送示例:
📢 小小桃纸哟 发布了新视频!
🕐 05-10 20:30
今天给大家带来了原神萌新的第 N 期视频~
🔗 https://t.bilibili.com/xxxx
文件结构
nonebot-plugin-bili-dynamic/
├── nonebot_plugin_bili_dynamic/
│ ├── __init__.py # 插件入口
│ ├── config.py # 配置模型
│ ├── api.py # B站API封装
│ ├── models.py # 数据库模型
│ ├── database.py # 数据库操作
│ ├── monitor.py # 轮询检测
│ ├── commands.py # 指令系统
│ └── renderer.py # 图片渲染(TODO)
├── pyproject.toml
└── README.md
原项目对比
| 功能 | Mirai 版 (Colter23) | NoneBot 版 (本插件) |
|---|---|---|
| 动态检测 | ✅ | ✅ |
| 直播检测 | ✅ | ✅ |
| 图片渲染 (skiko) | ✅ | 🚧 开发中 |
| 推送模板 | ✅ 丰富 | 🚧 简化版 |
| 过滤系统 | ✅ 类型+正则 | ✅ 类型+正则 |
| 分组管理 | ✅ | 🚧 |
| 扫码登录 | ✅ | ❌ 手动配置Cookie |
| 链接解析 | ✅ | 🚧 |
| 翻译 | ✅ | 🚧 |
TODO
- 图片渲染(Pillow / Playwright)
- 推送模板系统(多种模板切换)
- 分组管理
- 扫码登录获取 Cookie
- 链接解析
- 翻译功能
- 番剧订阅
鸣谢
- 原项目: Colter23/bilibili-dynamic-mirai-plugin
- NoneBot2: nonebot/nonebot2
License
MIT
Project details
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_bili_dynamic-0.1.0.tar.gz.
File metadata
- Download URL: nonebot_plugin_bili_dynamic-0.1.0.tar.gz
- Upload date:
- Size: 39.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
da6120adfcecafaaa7b7c4c39cbb9f62ef87c893d1adaea161b59e654d889c72
|
|
| MD5 |
f0c74323410f7aea89beedb73390aaf5
|
|
| BLAKE2b-256 |
024ba48d49fe27f4995db2fce584b7ec058c4e31e3ed7a49018147d37a168aaa
|
File details
Details for the file nonebot_plugin_bili_dynamic-0.1.0-py3-none-any.whl.
File metadata
- Download URL: nonebot_plugin_bili_dynamic-0.1.0-py3-none-any.whl
- Upload date:
- Size: 42.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
18d0d400474e27334e5e78591cf19e86c2b9263fd0726b068557b28b8868a495
|
|
| MD5 |
d5e9b8dad60ddafbd71d9f6eee144c93
|
|
| BLAKE2b-256 |
ba6b56c6c8003471b57a1d34b25840b46e20ab638406c988c895060274024901
|