/BLTH

Tampermonkey 哔哩哔哩 (bilibili.com) 辅助脚本,B站直播间挂机助手。

Primary LanguageJavaScriptMIT LicenseMIT

TamperMonkey 4.10 Chromium 83 Firefox 77 MIT License Stars GitHub issues

QQ Group QQ Group

B站直播间挂机助手

安装方法

1. 点击 BLTH_github 从 github 安装脚本

2. 点击 BLTH_greasyfork 前往 greasyfork 安装脚本

3. 点击 BLTH_openuserjs 前往 openuserjs 安装脚本


使用方法

Tampermonkey中启用脚本,登陆bilibili后打开任意b站直播间。

  • 在 Tampermonkey 脚本设置中需要将此脚本的设置 “仅在顶层页面(框架)运行” 设置为否(默认为否)才使脚本在特殊直播间运行。
  • 不保证能通过其它油猴插件(Greasemonkey/Violentmonkey等)运行。

一些建议

  • 初次使用时若出现看不到控制面板的情况,请等待一会或尝试刷新(shift+F5)页面。

  • 部分设置更改后需要刷新页面才能生效。

  • 使用前建议先关闭广告拦截插件,并确认相关浏览器设置(如cookie权限,脚本拦截)否则该脚本可能无法正常运行。

  • 修改浏览器设置缩减或不发送Referer。

    点击展开具体方法
    • Chrome
      在地址栏输入chrome://flags,搜索Reduce default 'referer' header granularity将这个功能设置为Enabled
    • Edge
      安装浏览器拓展Referer Control,在设置页面中找到default referer for all other sites,选择Custom - target hostBlock
      若无法科学上网可进Q群下载群文件中的crx文件,在浏览器地址栏输入chrome://extensions/,打开右上角的开发者模式,把crx文件拖进去安装。
    • FireFox
      在地址栏输入about:config,搜索network.http.sendRefererHeader,把这个设置的值改为0
    • 建议这样做的原因: B站直播间api在被调用时,其referer值为https://live.bilibili.com/当前房间号。所以若不修改设置,脚本发出的相当一部分api请求所携带的referer值是不合理的。如在直播间777使用脚本,参加了直播间666的天选时刻,那么发出请求所携带的referer值就是https://live.bilibili.com/777。但正常情况下天选时刻只能在对应房间参加,如果B站有相关检测的话很容易发现刚刚那个请求是异常的。
    • 请注意: 某些网站为了防盗链要求referer必须为本站链接,不发送referer可能导致无法正常访问这些网站。同时不发送referer还可能会影响网站的广告收入。

功能细节

脚本窗口可以上下滚动!部分设置可能需要滚动后才能看到。 点击直播画面上方按钮隐藏/显示脚本窗口和提示信息。

自动参加礼物抽奖
  • 抽奖前随机延迟
  • 随机跳过抽奖
  • 抽奖前模拟进入目标房间
  • 抽奖前发送活跃弹幕(防检测)
自动参加实物(金宝箱)抽奖
  • 忽略含特定关键字或匹配特定正则表达式的存疑抽奖
自动参与天选时刻
  • 忽略所需金瓜子大于设置值的天选
  • 忽略含特定关键字或匹配特定正则表达式的存疑天选
  • 忽略指定直播间的天选
  • 尝试识别天选中的金额并忽略金额低于设置值的天选
  • 保存当前关注列表为白名单/取关不在白名单内的UP主
  • 上传天选信息至自己的直播间/从特定直播间获取天选信息
  • 把参与天选时关注的UP移动到新关注分组/取关该分组内的UP主
  • 未中奖自动取关
  • 中奖后自动发私信/弹幕
自动完成主站每日任务
  • 登陆主站
  • 观看视频
  • 自动投币(可指定给某用户的视频投币)
  • 分享视频
屏蔽不必要的内容
  • 移除2233模型
  • 移除活动入口
  • 移除排行榜
  • 移除右侧关注按钮及弹窗
  • 移除礼物栏下方广告
  • 屏蔽挂机检测
  • 自动获取小心心
  • 发送粉丝勋章打卡弹幕
  • 自动送礼
  • 银瓜子换硬币
  • 直播区签到
  • 应援团签到
  • 自动参加被广播的节奏风暴
  • 自动发弹幕
  • 快捷购买粉丝勋章
  • 隐身入场


  • 说明

    脚本代码格式

    本脚本在三个平台上的代码格式有所不同

    平台 / 格式 原格式 压缩
    github
    greasyfork /
    openuserjs /

    注:项目文件中的B站直播间挂机助手.user.js是压缩后的脚本。
    原格式的脚本为B站直播间挂机助手.js

    脚本内置说明

    运行脚本后点击控制面板上带下划线的小问号查看各项功能的具体说明。

    运行日志

    • 可以点击聊天区上方,大航海右侧的【日志】查看普通日志。部分日志上会有可点击的蓝色链接文字,方便用户进行某些操作。
    • 脚本默认关闭控制台日志。勾选控制面板上的其他设置 - 控制台日志即可开启。
      打开控制台(ctrl + shift + i)在Filter中输入IGIFTMSG即可过滤出本脚本的日志。

    风控

    • 若出现...,请检查网络的红色日志,有两种可能。一是网络状况不佳,二是被B站风控了。
    • 风控过一段时间会自动解除。
    • 因为风控是针对ip地址的,被风控后可通过挂代理等方式更换ip,继续正常使用脚本。
    • 被风控通常是因为api请求过于频繁,可通过修改脚本的相关设置(如果有的话)降低请求频率。

    关于反馈

    • 如果使用脚本过程中遇到问题,可以先按上述步骤开启控制台日志,然后再次运行脚本并在控制台中寻找相关错误信息。
      若能找到请在反馈bug时附上这些控制台日志。
    • 反馈bug前请先阅读bug_report.md
    • 交流qq群:①群:1106094437(已满),②群:907502444。欢迎进来聊天或者提点建议~

    已知问题

    1. #12
      本脚本可能与Bilibili-Evolved存在兼容性问题导致脚本窗口无法正确加载。若出现此问题,请尝试在Bilibili-Evolved设置-其它中,将加载模式设置为延后,打开启用Ajax Hook API
    2. 脚本每次更新后第一次运行可能会不工作,shift+F5刷新一下页面即可。

    许可证

    本项目以MIT许可证开源。

    GitHub


    其它信息

    这个项目的部分代码来源于以下几个项目:

    本脚本使用的库:

    本脚本引用的外部资源:


    鸣谢

    十六夜SeaLoongpjy612lzghzrsentsinwendux风绫丨钰袖Server酱无尾玦的小尾巴
    以及所有提出过建议的用户。


    更新日志

    5.6.5

    1.取关BLTH关注分组内up时不再取关白名单内up。2.修复控制面板隐藏后依然碰不到音量按钮的bug。3.部分重构(主要是天选时刻部分)。4.修复在带有iframe的直播间运行脚本时重复运行检测出错的bug。5.如果开启控制台日志,右上角提示信息内容会输出在控制台中。6.天选时刻支持多种数据获取方式并存,并新增一种方式【从已关注且正在直播的直播间获取天选时刻数据 】。

    完整更新日志见update-log.md