Skip to content

Initial-heart-1/bilibili-dynamic-mirai-plugin

 
 

Repository files navigation

BilibiliDynamic MiraiPlugin

一个把B站动态转发到Q群的 Mirai 插件

简介

低延迟检测B站动态(最低10s检测所有动态 无论多少订阅)
使用Java原生Api绘图
可以设定检测内容: 动态(包括视频) 仅视频 直播

与1.x版本数据不互通

关于检测

通过检测 动态 界面,检测账号关注的所有最新动态,再挑选出QQ订阅的动态,这样一个检测周期就可以检测所有最新动态
所以在QQ中的订阅就必须在b站账号中关注(插件有自动关注自动添加分组功能,推荐使用小号,详细见下文)

关于自动关注(可关闭)

如果账号没有关注过此人,bot会自动关注并把他分到一个新分组中,方便管理
是否开启自动关注以及新分组的名称都可以在config中配置
如果关闭自动关注,那么在QQ中订阅一个未关注的人时会提示 未关注(如果你不想让bot自动关注又想检测动态,那么你可能不适合这个插件,请移步cssxsh大佬的bilibili-helper)

关于分组(如果你不知道b站关注可以分组的话请忽略)

开启自动关注后,bot会生成一个新分组(分组名可以在配置中设置),由bot新关注的人会被分到这个分组内,之前就关注过的不会移动
如果你想让bot关注就保存在默认分组中,请在配置中替换 followGroup 后面的值为两个双引号 ""

图片模式样式

样式1

样式2

样式3

下载

下载插件本体: releases
插件命令依赖 在聊天环境执行指令 请确保有此插件

配置

下面是一个配置文件模板
配置文件位于 根目录/config/BilibiliDynamic/BiliPluginConfig.yml
第一次运行插件会自动生成,也可自己创建
注:后面的cookie为必填 请用自行把单引号改为双引号

# 可以是群号或QQ号
admin: 11111111111

# 推送模式
# 0 :以文字形式推送
# 1 :以图片形式推送 (默认)
pushMode: 1

# 添加订阅时是否允许bot自动关注未关注的用户
# 开启 true
# 关闭 false
autoFollow: true

# Bot关注时保存的分组(最长16字符)
# 如果要保存到默认分组请填写为 ""
followGroup: Bot关注

# 检测间隔(推荐15-30 最低10) 单位秒 
# 不建议超过60,超过60可能会漏动态
interval: 15

# 图片推送模式用的字体
# 如不带后缀名则使用系统的字体,如系统中没有这个字体 则会使用系统默认字体
# 带后缀名则使用插件数据路径下 font 文件夹下的字体文件
# 如使用字体文件仅支持ttf格式
# 字体文件路径 data/BilibiliDynamic/font
# 需自行创建font文件夹,并把字体文件放进去
font: Microsoft Yahei

# 直播@全体(目前只能全体控制,如果需要对单独的群设置请去开issue)
liveAtAll: false

# 图片模式下动态/视频推送文字模板
# 配置项:
# {name} : 名字
# {uid}  : UID
# {type} : 类型 如 动态、直播等
# {time} : 时间
# {link} : 链接
# \n     : 换行
# 如有换行请使用双引号
# 2.0.4版本之前的模板为 {name}@{uid}@{type}\n{time}\n{link}
pushTemplate: "{name}@{type}\n{link}"

# 图片模式下直播推送文字模板, 如果为空则与上方动态推送模板保持一致
livePushTemplate: ""

# cookie !!必填!!
# cookie请包在双引号内
# 如何获取见下文 获取Cookie
cookie: ""

# 百度翻译
baiduTranslate:
  # 是否开启百度翻译
  enable: false
  # 百度翻译api密钥 如需使用请自行申请
  # https://api.fanyi.baidu.com/
  APP_ID: ''
  SECURITY_KEY: ''

获取Cookie

点击展开

浏览器打开B站 BiliBili 并登陆
注:登陆后最好不要退出登陆

F12,打开开发者工具,找到Network 网络并点击
F5刷新页面,按下图复制Cookie

使用

插件命令依赖 在聊天环境执行指令 请确保有此插件
如果你不会给权限可以点击下面展开查看简略教程

点击展开

在控制台输入 /perm add <许可人ID> top.colter.bilibili-dynamic-mirai-plugin:*

其中的 许可人ID 如果你要让所有群所有人都可以用此插件就是 */perm add * top.colter.bilibili-dynamic-mirai-plugin:*
具体的用户: u123456789 全部用户: u*
具体的群: g123456789 全部群: g*
更多的配置见 被许可人 ID 字符串表示
授予一个用户执行所有指令的权限

/bili <add 添加> <uid> [群/Q号]       #添加订阅
/bili <list 列表> [群/Q号]            #订阅列表
/bili <del 删除> <uid> [群/Q号]       #删除一个订阅订阅
/bili <delAll 删除全部订阅> [群/Q号]   #删除全部订阅
/bili <set 设置> <uid> [contact]      #设置订阅内容
/bili <color 颜色> <uid> <16进制颜色>  #设置图片推送主题色

[群/Q号] 不填的话默认对话所在地
<16进制颜色> 必须带#号 例: #fde8ed

下面是一些栗子:
/bili add 487550002    :为本群/好友添加uid为487550002的订阅
/bili add 487550002 111111  :为111111群/好友添加订阅
/bili color 487550002 #fde8ed  :设置主题色

图片缓存

所有生成的图片都会缓存在 data/BiliBiliDynamic/
dynamic 文件夹用于存放所有动态图片
live 文件夹用于存放所有直播图片
目前没有自动清除缓存功能,如果需要请自行删除

已知问题

  • 部分颜文字会以方块显示
  • 小概率图片模式有些文字或图片会错位
  • 小概率图片获取失败,图片位置为全白
  • 链接,话题以及@不会变色(感觉用处不大?如果你强烈需要可以去开个issues <_<)

其他

  • DynamicPlugin 目录下有一个font文件夹里面有一个思源黑体.ttf
    如没有字体使用可用这个

更新日志

releases

相关链接

Mirai
ViViD按钮
B站: 猫芒ベル_Official 这么可爱不关注一下吗(❁´◡`❁)
B站: Colter_null 如果github或论坛太长时间没回复可以去B站私信

感谢

cssxsh: bilibili-helper

About

低延迟检测B站动态/直播的mirai-console插件

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 100.0%