Skip to main content

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
  • 链接解析
  • 翻译功能
  • 番剧订阅

鸣谢

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

nonebot_plugin_bili_dynamic-0.1.0.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

nonebot_plugin_bili_dynamic-0.1.0-py3-none-any.whl (42.9 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_bili_dynamic-0.1.0.tar.gz.

File metadata

File hashes

Hashes for nonebot_plugin_bili_dynamic-0.1.0.tar.gz
Algorithm Hash digest
SHA256 da6120adfcecafaaa7b7c4c39cbb9f62ef87c893d1adaea161b59e654d889c72
MD5 f0c74323410f7aea89beedb73390aaf5
BLAKE2b-256 024ba48d49fe27f4995db2fce584b7ec058c4e31e3ed7a49018147d37a168aaa

See more details on using hashes here.

File details

Details for the file nonebot_plugin_bili_dynamic-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_bili_dynamic-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 18d0d400474e27334e5e78591cf19e86c2b9263fd0726b068557b28b8868a495
MD5 d5e9b8dad60ddafbd71d9f6eee144c93
BLAKE2b-256 ba6b56c6c8003471b57a1d34b25840b46e20ab638406c988c895060274024901

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page