All Projects → cssxsh → bilibili-helper

cssxsh / bilibili-helper

Licence: AGPL-3.0 license
mirai-console 插件开发计划

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to bilibili-helper

lit-ncov-report
洛阳理工学院 "健康状况管控平台" , 非官方Python封装库兼CLI工具与拓展实现
Stars: ✭ 41 (-53.41%)
Mutual labels:  qqbot
zhamao-framework
协程、高性能、灵活的聊天机器人 & Web 开发框架(炸毛框架)
Stars: ✭ 99 (+12.5%)
Mutual labels:  qqbot
stats-cards
在 README 中展示你在知乎,GitHub,B 站,LeetCode,掘金,CSDN,牛客等网站的数据,服务部署在 Vercel 上,保证服务稳定。Show your LeetCode & GitHub stats in GitHub Profile.
Stars: ✭ 74 (-15.91%)
Mutual labels:  bilibili
rsshub2qq
基于酷Q制作的RSSHub QQ群推送机器人,用于订阅RSSHub的更新并转发到QQ群
Stars: ✭ 104 (+18.18%)
Mutual labels:  qqbot
bilibiliAPI
bilibiliAPI
Stars: ✭ 42 (-52.27%)
Mutual labels:  bilibili
mirai-rulateday-dice
利用Mirai框架的Mirai-Console开发TRPG骰子插件模板。目前集成了大部分的常用指令,并在此基础上实现更多的跑团体系优化指令。例如COC7技能详细查询、DND5e技能列表查询、DND5e怪物图鉴等。目前处于测试阶段。
Stars: ✭ 55 (-37.5%)
Mutual labels:  qqbot
LearningNotes
Java学习笔记,主要来源于B站上视频的学习,同时会记录平时一些学习和项目中遇到的问题,同步更新在蘑菇博客,如果对我的博客网站感兴趣的话,欢迎关注我的 蘑菇博客项目 笔记主要涵盖:Java,Spring,SpringCloud,计算机网络,操作系统,数据结构,Vue等 如果笔记对您有帮助的话,欢迎star支持,谢谢~
Stars: ✭ 477 (+442.05%)
Mutual labels:  bilibili
OPQBot-GroupManager
OPQBot 群管理机器人
Stars: ✭ 25 (-71.59%)
Mutual labels:  qqbot
ultraman
奥特曼
Stars: ✭ 45 (-48.86%)
Mutual labels:  bilibili
OneBot-YaYa
✨ OneBot(原CQHTTP) 多平台的实现
Stars: ✭ 108 (+22.73%)
Mutual labels:  qqbot
A-Soul-Database
A-Soul db A-Soul第三方直播数据
Stars: ✭ 173 (+96.59%)
Mutual labels:  bilibili
acmpv
使用 mpv 播放带弹幕的 Acfun & Bilibili 视频
Stars: ✭ 27 (-69.32%)
Mutual labels:  bilibili
BilibiliTool
Bilibili直播站小工具
Stars: ✭ 26 (-70.45%)
Mutual labels:  bilibili
pixiv-helper
mirai-console 插件开发计划
Stars: ✭ 113 (+28.41%)
Mutual labels:  qqbot
MiraiCQ
用C/C++,易语言写QQ机器人,兼容酷Q插件,支持Linux(通过Wine)
Stars: ✭ 55 (-37.5%)
Mutual labels:  qqbot
bilicoin
B站自动投币工具 批量用户处理 Lv6经验补全 手机客户端二维码登录 支持docker
Stars: ✭ 15 (-82.95%)
Mutual labels:  bilibili
Bilibili2Bangumi
将 Bilibili 订阅动画迁移至 Bangumi,保留原追番状态并自动点格子。
Stars: ✭ 48 (-45.45%)
Mutual labels:  bilibili
StreamUnlockTest
沙雕流媒体测试
Stars: ✭ 181 (+105.68%)
Mutual labels:  bilibili
BiliTools
支持Docker,青龙面板,以及各种云函数,阿里云,腾讯云,华为云,百度云。
Stars: ✭ 142 (+61.36%)
Mutual labels:  bilibili
Application
一个可自定义的,基于Graia和Mirai的集群管、功能、娱乐为一体的QQ插件式机器人
Stars: ✭ 55 (-37.5%)
Mutual labels:  qqbot

BiliBili Helper

基于 Mirai Console哔哩哔哩 订阅插件

Release Downloads MiraiForum

使用前应该查阅的相关文档或项目

从 1.2.5 版本开始 将截图部分功能的转移至 mirai-selenium-plugin
截图功能的启用需要其作为前置插件
关于截图支持的环境请浏览 运行平台支持
直播 @全体成员 详见配置 此设置 1.5.0 废除
自动触发URL解析 详见 信息解析 指令
消息 模板 详见配置(自 1.4.0 起截图功能由模板内容来配置)

指令

注意: 使用前请确保可以 在聊天环境执行指令
带括号的/前缀是可选的
<...>中的是指令名,由空格隔开表示或,选择其中任一名称都可执行例如/B视频 添加 11783021
[...]表示参数,当[...]后面带?时表示参数可选
{...}表示连续的多个参数

本插件指令权限ID 格式为 xyz.cssxsh.mirai.plugin.bilibili-helper:command.*, * 是指令的第一指令名
例如 /B动态 添加 496371957 的权限ID为 xyz.cssxsh.mirai.plugin.bilibili-helper:command.bili-dynamic

参数 uid 例如 https://space.bilibili.com/508963009/ 的数字 508963009
参数 contact 为QQ号或者群号,可以省略,会从当前聊天环境获取,
比如群聊中会自动填充为当前群号, 但控制台中必须填充

子指令 sleep/attarget被许可人 ID
处于休眠时间的订阅将不会推送,举例

  • /bili-dynamic g12345 00:00 06:00, 00:00~06:00 时间段内将不会推送

处于艾特时间的订阅将会添加艾特,举例

  • /bili-live g12345 19:00 23:00, 19:00 23:00 时间段内将会艾特全体
  • /bili-live u456789 19:00 23:00, 19:00 23:00 时间段内将会艾特用户456789

子指令 croncron 参数是 CRON 表达式, 由 秒 分钟 小时 日 月 周 组成
例如:

  • 0 0 14 * * ? 表示每天 14:00 都执行一次
  • 0 0 18 ? * 2-6 表示星期一至星期五 每天 18:00 执行一次
    可以使用在线编辑器生成 https://www.bejson.com/othertools/cron/
    为防止被 空格 分成多个参数,请使用 " 包裹参数

动态订阅指令

指令 描述
/<bili-dynamic B动态> <add 添加> [uid] [contact]? 添加一个b站动态订阅
/<bili-dynamic B动态> <stop 停止> [uid] [contact]? 停止一个b站动态订阅
/<bili-dynamic B动态> <time 定时> [uid] [cron]? 设置任务的定时信息
/<bili-dynamic B动态> <list 列表> [contact]? 列出当前联系人的动态订阅
/<bili-dynamic B动态> <forbid 屏蔽> [pattern] [add]? 添加一个动态正则屏蔽
/<bili-dynamic B动态> <sleep 休眠> [target] [start] [end] 添加一个休眠时间
/<bili-dynamic B动态> <at 艾特> [target] [start] [end] 添加一个艾特时间

/bili-dynamic forbid 转发抽奖 添加一个正则屏蔽
/bili-dynamic forbid 转发抽奖 false 取消一个正则屏蔽
/bili-dynamic filter 视频 添加一个动态类型过滤
/bili-dynamic filter 视频 false 取消一个动态类型过滤
type 取值 回复, 图片, 文本, 视频, 专栏, 音乐, 剧集, 删除, 番剧, 电视, 直播

直播订阅指令

指令 描述
/<bili-live B直播> <add 添加> [uid] [contact]? 添加一个b站直播订阅
/<bili-live B直播> <stop 停止> [uid] [contact]? 停止一个b站直播订阅
/<bili-live B直播> <time 定时> [uid] [cron]? 设置任务的定时信息
/<bili-live B直播> <list 列表> [contact]? 列出当前联系人的直播订阅
/<bili-live B直播> <sleep 休眠> [target] [start] [end] 添加一个休眠时间
/<bili-live B直播> <at 艾特> [target] [start] [end] 添加一个艾特时间

视频订阅指令

指令 描述
/<bili-video B视频> <add 添加> [uid] [contact]? 添加一个b站视频订阅
/<bili-video B视频> <stop 停止> [uid] [contact]? 停止一个b站视频订阅
/<bili-video B视频> <time 定时> [uid] [cron]? 设置任务的定时信息
/<bili-video B视频> <list 列表> [contact]? 列出当前联系人的视频订阅
/<bili-video B视频> <forbid 屏蔽> [type] [add]? 添加一个视频类型屏蔽
/<bili-video B视频> <filter 过滤> [tid] [add]? 添加一个视频分区过滤
/<bili-video B视频> <sleep 休眠> [target] [start] [end] 添加一个休眠时间
/<bili-video B视频> <at 艾特> [target] [start] [end] 添加一个艾特时间

/bili-video forbid 付费 添加一个类型屏蔽
/bili-video forbid 付费 false 取消一个类型屏蔽
/bili-video filter 1 添加一个分区过滤过滤
/bili-video filter 1 false 取消一个分区过滤过滤
type 取值 付费, 联合, 回放
tid 取值请参考 https://github.com/SocialSisterYi/bilibili-API-collect/blob/master/video/video_zone.md

视频订阅不宜过多,否则会触发b站反爬策略,导致IP被锁定 动态订阅一般会包含视频内容,推荐以此代替

剧集订阅指令

指令 描述
/<bili-season B剧集> <add 添加> [sid] [contact]? 添加一个b站剧集订阅
/<bili-season B剧集> <stop 停止> [sid] [contact]? 停止一个b站剧集频订阅
/<bili-season B剧集> <time 定时> [uid] [cron]? 设置任务的定时信息
/<bili-season B剧集> <list 列表> [contact]? 列出当前联系人的剧集订阅
/<bili-season B剧集> <sleep 休眠> [target] [start] [end] 添加一个休眠时间
/<bili-season B剧集> <at 艾特> [target] [start] [end] 添加一个艾特时间

剧集订阅需要 Season ID 例如 https://www.bilibili.com/bangumi/play/ss3835338353
可以通过 搜索指令 搜索番剧 获得链接

信息解析指令

指令 描述
/<bili-info B信息> <aid> [id] 根据 avid 获取视频信息
/<bili-info B信息> <bvid> [id] 根据 bvid 获取视频信息
/<bili-info B信息> <dynamic> [id] 根据 id 获取动态信息
/<bili-info B信息> <live> [id] 根据 id 获取直播信息
/<bili-info B信息> <user> [id] 根据 id 获取用户信息

返回结果包含图片,需要在聊天环境执行指令
消息中包含 BV12v411G7dP av2 等等 id 信息时会自动触发解析
目前会触发的正则表达式

// Video
"""(?i)(?<!\w)(?:av(\d+)|(BV[0-9A-z]{10}))"""
// Dynamic
"""(?<=t\.bilibili\.com/(?:h5/dynamic/detail/)?)(\d+)"""
// Live Room
"""(?<=live\.bilibili\.com/)(\d+)"""
// User Space
"""(?<=space\.bilibili\.com/|bilibili\.com/space/)(\d+)"""
// Season
"""(?i)(?<!\w)ss(\d{4,10})"""
// Episode
"""(?i)(?<!\w)eq(\d{4,10})"""
// Media
"""(?i)(?<!\w)md(\d{4,10})"""
// Article
"""(?i)(?<!\w)cv(\d{4,10})"""
"""(?<=bilibili\.com/read/mobile\?id=)(\d+)"""
// Short Link
"""(?<=b23\.tv\\?/)[0-9A-z]+"""

搜索指令

指令 描述
/<bili-search B搜索> <user 用户> [keyword] 搜索用户
/<bili-search B搜索> <bangumi 番剧> [keyword] 搜索番剧
/<bili-search B搜索> <ft 影视> [keyword] 搜索影视

返回结果包含图片,需要在聊天环境执行指令

任务列表指令

指令 描述
/<bili-task B任务> <all> 全部任务
/<bili-task B任务> <dynamic> 动态任务
/<bili-task B任务> <live> 直播任务
/<bili-task B任务> <season> 剧集任务
/<bili-task B任务> <video> 视频任务
/<bili-task B任务> <config> 屏蔽设置

模板配置指令

指令 描述
/<bili-template B模板> <datetime> [pattern] 日期格式
/<bili-template B模板> <reload> 重新加载

pattern 的 取值为 DateTimeFormatter
举例:

  • /B模板 datetime ISO_LOCAL_DATE_TIME
  • /B模板 datetime yyyy-MM-dd

设置

位于Mirai-Console运行目录下的config/xyz.cssxsh.mirai.plugin.bilibili-helper文件夹下

BiliHelperSettings.yml

  • cache 图片缓存位置, 默认为 ImageCache
  • limit 动态 订阅 输出图片数量上限, 默认为 16
  • api API 访问间隔时间,单位秒, 默认为 10
  • video 视频 订阅 访问间隔时间,单位分钟, 默认为 10
  • dynamic 动态 订阅 访问间隔时间,单位分钟, 默认为 10
  • live 直播 订阅 访问间隔时间,单位分钟, 默认为 30
  • season 番剧 订阅 访问间隔时间,单位分钟, 默认为 30
  • refresh 启动时刷新 last,订阅最后推送将会重新开始记录,未推送内容将会因此丢弃
  • selenium 是否启用截图 此配置项废弃,通过 Template 文件内容来确定是否启用截图
  • ban 排除的自动解析内容,可以放一些不希望被解析的AV号之类的
  • forward 转发自动解析, 使用转发的形式发送自动解析结果
  • max 一次性推送的订阅内容上限, 超过这个上限将会尝试合并为转发消息

BiliCleanerConfig.yml

  • interval 图片清理的间隔时间,单位 小时
  • expires 图片缓存过期时间,单位 小时

SeleniumConfig.yml

  • user_agent 截图设备UA 网页识别设备类型,进而影响截图的效果
    iPad Mozilla/5.0 (iPad; CPU OS 11_0 like Mac OS X) AppleWebKit/604.1.34 (KHTML, like Gecko) Version/11.0 Mobile/15A5341f Safari/604.1 MicroMessenger
    iPhone Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 MicroMessenger
    Mac Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/534.50 (KHTML, like Gecko) Version/5.1 Safari/534.50 MicroMessenger
  • width 截图宽度
  • height 截图高度
  • pixel_ratio 截图像素比 此配置废除
  • headless 无头模式(后台模式)
  • home 浏览器会保持打开主页,以加快其他页面加载速度 此配置废除
  • hide 隐藏的web组件(jQ选择器)
    添加 ".international-header", ".top-bar", ".m-navbar" 可以屏蔽顶边栏

LiveAtAll

此设置 1.5.0 废除
此配置通过权限设置,权限ID为 xyz.cssxsh.mirai.plugin.bilibili-helper:live.atall
配置对象为群,即 g*, g12345
举例,perm add g12345 xyz.cssxsh.mirai.plugin.bilibili-helper:live.atall

Template

位于 config/xyz.cssxsh.mirai.plugin.bilibili-helper/Template 目录下的 template 文件
文件名为对应的配置对象(类名),文件内容的 #... 是替换标记,将会替换为对应的值
值的名称请参考 bilibili/data 中的数据定义
#images, #detail, #screenshot 为特殊的替换标记,将会替换为特殊的处理结果
#images 将会替换为内容图片
BiliRoomInfo#detail 将会替换为对应的 Live
DynamicCard#detail 将会替换为对应的 card 解析结果
DynamicInfo#screenshot 将会替换为截图(需要安装 mirai-selenium-plugin) 在 Article#screenshot 将会替换为截图(需要安装 mirai-selenium-plugin) 例如可以将 VideoStatus.template 改为

👍 #like 💰 #coin ⭐ #favorite
▶️ #view 💬 #reply 🔄 #share

Cookies

位于 data/xyz.cssxsh.mirai.plugin.bilibili-helper/cookies.json
导入 cookies文件 不是必须的,这是实验性功能,主要是防止b站反爬IP锁定
从 浏览器插件 EditThisCookie 导出Json 填入文件
EditThisCookie 安装地址 Chrome Firefox Edge

安装

MCL 指令安装

./mcl --update-package xyz.cssxsh:bilibili-helper --channel stable --type plugin

手动安装

  1. 运行 Mirai Console 生成plugins文件夹
  2. Releases 下载jar并将其放入plugins文件夹中

截图前置

./mcl --update-package xyz.cssxsh.mirai:mirai-selenium-plugin --channel stable --type plugin

TODO

  • 完善剧集订阅
  • 自动清理图片缓存
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].