Skip to main content

Bilibili 动态/直播 订阅推送插件 for NoneBot2

Project description

B站通知助手 — NoneBot2 插件

基于 NoneBot2 + OneBot V11 的 Bilibili 动态/直播订阅推送插件。

参考 bilibili-dynamic-mirai-plugin v3 设计。

特性

  • 动态推送 — 15 秒轮询检测订阅 UP 主的新动态,HTML 渲染为图片推送至群
  • 直播推送 — 实时检测开播/下播状态,推送卡片通知
  • Web 管理后台 — 浏览器管理订阅、Cookie、模板、字体,无需操作指令
  • 扫码登录 — 支持手机扫码或手动填入 Cookie
  • @全体 管理 — 六种独立类型(全部/动态/视频/音乐/专栏/直播)
  • 关键词过滤 — 按关键词屏蔽不想接收的动态
  • 自定义模板 — 每群可独立设置动态/视频/直播模板,支持在线编辑上传
  • 分组管理 — 按 UP 主维度展示订阅,支持多群订阅同一 UP 主
  • 私聊管理 — 超级用户私聊可管理任意群

安装

前置依赖

nonebot2[fastapi,httpx,websockets]>=2.5.0
nonebot-adapter-onebot>=2.4.6
nonebot-plugin-htmlrender>=0.6.7
nonebot-plugin-localstore>=0.7.4
nonebot-plugin-apscheduler>=0.5.0

安装插件

nonebot_plugin_bilibili 文件夹复制到项目的插件目录:

[tool.nonebot.plugins]
"@local" = ["nonebot_plugin_bilibili"]

安装依赖

pip install qrcode
playwright install chromium

配置

.env.env.prod 中配置:

SUPERUSERS=["你的QQ号"]
HOST=0.0.0.0

# Web 后台(可选)
bili_web_enable=true
BILI_WEB_PASSWORD=你的管理密码

指令

订阅管理

命令 说明 权限
/bili add <uid> [群号] 订阅 UP 主 管理员 / 超级用户
/bili del <uid> [群号] 取消订阅 管理员 / 超级用户
/bili list [群号] 查看本群订阅列表 所有人
/bili listall 查看全部订阅 超级用户
/bili delall [群号] 清除本群所有订阅 管理员
/bili delallall 删除所有订阅 超级用户

@全体 管理

命令 说明
/bili atall <类型> on <uid> [群号] 开启 @全体
/bili atall <类型> off <uid> [群号] 关闭 @全体
/bili atall list [群号] 查看本群配置

类型:all(全部)/ dynamic(动态)/ video(视频)/ music(音乐)/ article(专栏)/ live(直播)

过滤管理

命令 说明
/bili filter add <keyword> 添加过滤词
/bili filter del <id/keyword> 删除过滤规则
/bili filter list 查看本群过滤规则

系统

命令 说明 权限
/bili login 扫码登录 B 站 超级用户
/bili help 显示帮助图片 所有人

Web 管理后台

启动后访问 http://IP:你配置的端口/bili/ 即可进入管理后台。

订阅标签页

  • 添加群 — 输入群号或点击「检测群列表」自动扫描 Bot 加入的所有群
  • UP 主卡片 — 按 UP 主分组显示,每个 UP 主列出所有订阅该 UP 主的群
  • @全体 控制 — 每个群的 UP 主条目下方有六种 @全体 开关按钮
  • 屏蔽词 — 每个群可独立设置过滤关键词
  • 模板设置 — 每个群可独立选择动态/视频/直播推送模板
  • 删除群 — 移除群的所有管理数据

Cookie 标签页

  • 显示 Cookie 配置状态和绑定 UID
  • 手动填入 Cookie 或扫码登录

模板标签页

  • 以卡片形式显示所有可用模板
  • 点击进入编辑器,修改后保存
  • 上传新的 .html 模板文件
  • 点击「预览」渲染模板效果图

字体标签页

  • 设置推送图片使用的字体名称

自定义模板

模板使用 Jinja2 + HTML/CSS 渲染,位于 templates/ 目录。

动态模板(dynamic.html)

支持变量:

变量 说明
name UP 主名称
avatar UP 主头像 URL
pub_time 发布时间 (YYYY-MM-DD HH:mm:ss)
type_text 动态类型文字
content 动态纯文本内容
content_html 带表情/链接的 HTML 内容
images 图片 URL 列表
media_title 视频/专栏标题
media_cover 视频/专栏封面 URL
media_link 跳转链接
media_badge 媒体标签(时长等)
comment_count 评论数
forward_count 转发数
like_count 点赞数
forward_name 转发来源 UP 主
forward_content 转发原内容
dynamic_id 动态 ID

视频模板(video.html)

专为视频投稿设计,支持封面大图+播放按钮+标题覆盖。

直播模板(live.html)

变量 说明
cover 直播间封面 URL
title 直播标题
name 主播名称
avatar 主播头像 URL
uid 主播 UID
area 直播分区
start_time 开播时间
live_link 直播间链接

数据存储

项目本地目录 data/bilibili/

项目根/data/bilibili/
├── cookie.json        # B 站 Cookie + UID
├── subscribers.json   # 订阅数据(群、UP主、@全体、过滤、模板)
└── users.json         # UP 主名称缓存

可通过 .envbilibili_data_dir 自定义路径:

bilibili_data_dir=/自定义/路径/data/bilibili

权限说明

角色 群聊 私聊
普通成员 /bili list 不回复
群管理员/群主 全部管理命令 不回复
超级用户 全部命令 全部命令(加 -群号 管理)

技术栈

  • 框架: NoneBot2 + OneBot V11
  • 命令: on_command
  • 定时任务: APScheduler(15 秒间隔)
  • 图片渲染: Playwright(htmlrender)
  • 数据存储: JSON 文件
  • Web 后台: FastAPI
  • B 站 API: WBI 签名 + Cookie 认证

参考

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_bilibili-1.0.0.tar.gz (5.2 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_bilibili-1.0.0-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_bilibili-1.0.0.tar.gz.

File metadata

  • Download URL: nonebot_plugin_bilibili-1.0.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for nonebot_plugin_bilibili-1.0.0.tar.gz
Algorithm Hash digest
SHA256 dfd585bb53fa277ebe64e4c6523ee1cbc139ea4d954098b371faffc4fea6cc3e
MD5 202d729939c6acd844c2cbf4edd9444f
BLAKE2b-256 6fac9facb16514366e868b84e3e06bc13d1c9328f082e27cda5b8ad625337d5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_bilibili-1.0.0.tar.gz:

Publisher: publish.yml on mengbingnaixi/nonebot-plugin-bilibili

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file nonebot_plugin_bilibili-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_bilibili-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 47649c80732fffe675e1985a6e16400fa09d84d1d985116b00a53ed7e6fe3642
MD5 4444e04a5d400db063cd84e13ce70f83
BLAKE2b-256 1925246702bd5e5a7ba06f2e5e683f25f448ab7328e47c14b5be4ee7d5db13e5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nonebot_plugin_bilibili-1.0.0-py3-none-any.whl:

Publisher: publish.yml on mengbingnaixi/nonebot-plugin-bilibili

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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