Skip to main content

Push bilibili dynamics and live notifications to QQ with NoneBot2.

Project description

NoneBotPluginLogo

NoneBotPluginText

nonebot-plugin-bililive

✨ 将 B 站 UP 主动态与直播推送到 QQ 的 NoneBot2 插件 ✨

license pypi python

📖 介绍

BiliLive 是一个基于 NoneBot2 的 B 站推送插件,支持将 UP 主的直播与动态消息推送到 QQ 群或私聊场景。

目前支持的适配器:OneBot V11。

特性

  • 支持按 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"]

首次使用动态截图功能时,插件会自动检查并安装 Chromium。插件数据目录统一由 nonebot-plugin-localstore 提供,无需再单独配置数据目录。

⚙️ 配置

在 NoneBot2 项目的 .env 文件中按需添加配置项:

配置项 必填 默认值 说明
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 空字符串 命令额外前缀

动态抓取使用 Playwright 持久化浏览器中的 cookies 请求网页动态接口。通常不需要额外配置 Cookie 登录;如果某些 UID 持续抓取失败,建议在插件使用的浏览器数据目录中登录一个常用的 B 站账号,以提高动态抓取成功率。

🎉 使用

指令表

指令 权限 需要@ 范围 说明
帮助 群员 视 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 而定 群聊/私聊 查看已开播关注列表

效果图

demo

开发

本仓库保留了本地开发启动方式:

python bot.py

用于发布的插件入口模块为:

nonebot_plugin_bililive

致谢

许可证

本项目使用 GNU AGPLv3 作为开源许可证。

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_bililive-2.1.0.tar.gz (47.0 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_bililive-2.1.0-py3-none-any.whl (59.9 kB view details)

Uploaded Python 3

File details

Details for the file nonebot_plugin_bililive-2.1.0.tar.gz.

File metadata

  • Download URL: nonebot_plugin_bililive-2.1.0.tar.gz
  • Upload date:
  • Size: 47.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.26.8 CPython/3.11.15 Linux/6.17.0-1011-azure

File hashes

Hashes for nonebot_plugin_bililive-2.1.0.tar.gz
Algorithm Hash digest
SHA256 7966cd958cdea678e06890d17aa2fdcd226a9df5ae10dc42c303067773f88059
MD5 30c2718edd2990e9bc74a25fc82ecb8d
BLAKE2b-256 f60195bcc773da055d7eb38e0784a2f217ddc3d19d1a958df186556436a5827e

See more details on using hashes here.

File details

Details for the file nonebot_plugin_bililive-2.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for nonebot_plugin_bililive-2.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9bef2e412184fcb32350455e6a8ecca43f8272cfbe298537a79609c4cc8ccb0f
MD5 66c82fdd67df01de281662751fac44f0
BLAKE2b-256 07c0719d5c5619742dea8faacb132490c864fe8afe2695d9f24fffbe1c710721

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