Greasy Fork

Greasy Fork is available in English.

B站直播间挂机助手

自动获取小心心,参加天选时刻抽奖,直播区签到,应援团签到,银瓜子换硬币,完成主站每日任务(登录,观看视频,投币,分享视频),批量送礼、点亮勋章,参与实物抽奖,参与Bilibili直播区礼物抽奖(现在极少),参加被广播的节奏风暴(几乎没有),定时发弹幕,快捷购买粉丝勋章

当前为 2020-09-24 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

作者
andywang
评分
0 0 0
版本
5.0.2
创建于
2020-06-25
更新于
2020-09-24
大小
233.4 KB
兼容性
与 Firefox 兼容 与 Chrome 兼容 与 Opera 兼容
许可证
MIT
适用于

TamperMonkey 4.10 Chromium 83 Firefox 77

github项目地址:https://github.com/andywang425/BLTH/

使用方法

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


一些建议

  • 初次使用时若出现看不到控制面板的情况,请等待一会或尝试刷新页面。
  • 部分设置更改后需要刷新页面才能生效。
  • 使用前建议先关闭广告拦截插件,并确认相关浏览器设置(如cookie权限,脚本拦截)否则该脚本可能无法正常运行。

交流群:1106094437,欢迎进来聊天或者提点建议~


功能细节

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

自动参加礼物抽奖
  • 抽奖前随机延迟
  • 特定时段不参与抽奖
  • 随机跳过抽奖
  • 可设置当天最多抢辣条数量
  • 抽奖前模拟进入目标房间
  • 抽奖前发送活跃弹幕(防检测)
  • 被风控后强制重复抽奖直到成功,最多尝试5次
自动参加金宝箱(实物)抽奖
  • 忽略含特定关键字或匹配特定正则表达式的存疑抽奖
自动参与天选时刻
  • 忽略所需金瓜子大于设置值的天选
  • 含特定关键字或匹配特定正则表达式的存疑天选
  • 保存当前关注列表为白名单
  • 取关不在白名单内的UP主
自动完成主站每日任务
  • 登陆主站
  • 观看视频
  • 自动投币(可指定给某用户的视频投币)
  • 分享视频
屏蔽不必要的内容
  • 移除2233模型
  • 移除活动入口
  • 移除排行榜
  • 屏蔽挂机检测

  • 自动获取小心心
  • 自动点亮勋章
  • 自动送礼
  • 银瓜子换硬币
  • 直播区签到
  • 应援团签到
  • 自动参加被广播的节奏风暴
  • 自动发弹幕
  • 快捷购买粉丝勋章


  • 说明

    关于脚本代码格式

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

    • github: 压缩和原格式都有
    • openuserjs: 第一次安装为原格式,若用tampermonkey更新则会变为压缩格式
    • greasyfork: 原格式

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

    输入数据格式

    • 浮点数(小数)或整数: 抽奖-抽奖前附加随机延迟,随机跳过礼物;弹幕-发送时间(或时间格式)。
    • 数组(或单个数据): 送礼-优先送礼房间,不送礼房间;小心心-自动点亮勋章房间号;弹幕-房间号,间隔时间(此项可填浮点数);抽奖-忽略关键字。
    • 其余只支持整数。

    自动送礼

    • 若不勾选【无视礼物类型和到期时间限制】,自动送礼只会送出辣条,亿圆和小心心。
    • 如果要填写多个优先送礼房间或不送礼房间,每个房间号之间需用半角逗号,隔开。如 666,777,888 (其实就是数组的格式)。若不勾选送礼优先高等级粉丝牌则优先送低等级粉丝牌。
    • 礼物到期时间: 将要在这个时间段里过期的礼物会被送出(勾选【无视礼物类型和到期时间限制】时无论是否将要过期都会被送出)。
    • 送礼设置优先级:
      不送礼房间 > 优先送礼房间 > 优先高/低等级粉丝牌。
    • 送礼设置逻辑规则:
      无论【优先高/低等级粉丝牌】如何设置,会根据【无视礼物类型和到期时间限制】(勾选则无视是否到期补满亲密度,否则只送到期的)条件去按优先送礼房间先后顺序送礼。
      之后根据【优先高/低等级粉丝牌】决定先送高级还是低级。
    • 若不勾选【无视礼物类型和到期时间限制】,不会送出永久礼物。
    • 【剩余礼物】指送满了所有粉丝牌,但仍有剩余的将在1天内过期的礼物。
    • 【剩余礼物送礼直播间】填0则不送剩余礼物。

    自动投币

    • 脚本会根据今日你已获得的投币经验值判断你已经投了多少个币,然后自动投剩余没投的币。

    如今日已获得投币经验20,脚本投币数量设置为4,则会投2个币。

    • 【给用户(UID:___)的视频投币】若填0则给动态中的视频依次投币(不存在UID为0的用户)。

    任务执行时间

    • 初次启用某一项任务时立刻执行。
    • 登陆主站,观看视频,自动投币,分享视频,银瓜子换硬币,领银瓜子宝箱,直播区签到每日凌晨0点1分时时执行。
    • 应援团签到在第二天早上8点执行。

    节奏风暴

    • 仅会参加被广播的节奏风暴。若无法参加请尝试实名后再参加。
    • 这个功能目前处于实验阶段,且风险较大。

    内容屏蔽

    • 【屏蔽挂机检测】脚本每十分钟触发一次页面可见性改变事件防检测。

    小心心

    • 通过发送客户端心跳包获取小心心(无论目标房间是否开播都能获取)。检测到包裹内有24个7天的小心心后会停止。
    • 在获取完所有小心心之前直播间不刷新。
    • 点亮勋章指送出一个小心心;点亮勋章会在自动送礼之前进行,也可以点击按钮立刻执行。
    • 不会点亮自动送礼中的【不送礼房间】的勋章。
    • 若不勾选【点亮勋章时忽略亲密度上限】,则仅会点亮当日剩余亲密度大于等于小心心亲密度的勋章。
    • 勋章点亮模式说明
      • 白名单:点亮【自动点亮勋章房间号】所对应的粉丝勋章。
      • 黑名单:点亮所有粉丝勋章中除了【自动点亮勋章房间号】所对应勋章的粉丝勋章。
        提示:如果想点亮所有勋章,选黑名单然后不填写拥有勋章的房间号即可。

    弹幕设置

    • 弹幕内容,房间号,发送时间可填多个,数据之间用半角逗号,隔开(数组格式)。脚本会按顺序将这三个值一一对应,发送弹幕。
    • 若有多条弹幕需要发送,每条弹幕间会有1.1秒的间隔时间。
    • 如果数据没对齐,缺失的数据会自动向前对齐。如填写弹幕内容 lalala房间号 3,4发送时间 5m,10:30,少填一个弹幕内容。那么在发送第二条弹幕时,第二条弹幕的弹幕内容会自动向前对齐(即第二条弹幕的弹幕内容是lalala)。
    • 发送时间有两种填写方法

    1.【小时】h【分钟】m【秒】s

    • 每隔一段时间发送一条弹幕
    • 例子:1h2m3s, 300m, 30s, 1h50s, 2m6s, 0.5h
    • 可以填小数
    • 可以只填写其中一项或两项

    脚本会根据输入数据计算出间隔时间,每隔一个间隔时间就会发送一条弹幕。如果不加单位,如填写10则默认单位是分钟(等同于10m)。

    注意:必须按顺序填小时,分钟,秒,否则会出错(如3s5h就是错误的写法)

    2.【小时】:【分钟】:【秒】

    • 在特定时间点发一条弹幕
    • 例子: 10:30:10, 0:40
    • 只能填整数
    • 小时分钟必须填写,秒数可以不填

    脚本会在该时间点发一条弹幕(如13:30:10就是在下午1点30分10秒的时候发弹幕)。

    金宝箱抽奖

    • 【忽略关键字】中每一项之间用半角逗号,隔开。
    • 【忽略关键字】可以填正则表达式。正则格式为以/开头且以/结尾,如/测.*试/
    • 【检测到__个不存在活动的aid后停止检测】如果你不理解此项保持默认配置即可。

    天选时刻

    • 【忽略关键字】中每一项之间用半角逗号,隔开。
    • 【忽略关键字】可以填正则表达式。正则格式为以/开头且以/结尾,如/测.*试/
    • 【请求间隔毫秒】轮询天选和取关时每次请求间的间隔时间。如果间隔时间过短可能会被风控。
      _注:轮询天选时本就存在一个微小的间隔,流程为:发出请求 - 等待回复 - 等待一个间隔时间 - 发出下一个请求。而取消关注时不会等待回复。

    • 【保存当前关注列表为白名单】【取关不在白名单内的UP主】参加天选时会关注很多UP。可以在参加天选前点击【保存当前关注列表为白名单】,参与完天选后再点【取关不在白名单内的UP主】来清理关注列表。不建议频繁清理,可能会被风控。
    • 轮询的房间来源于各分区小时榜和热门房间列表。
    • 轮询房间占用资源较多,若出现卡顿请尝试降低【检查房间最大数量】。

    购买粉丝勋章

    • 调用官方api(api.vc.bilibili.com/link_group/v1/member/buy_medal),消耗20硬币购买某位UP的粉丝勋章。
    • 默认值为当前房间号。点击购买按钮后有确认界面,无需担心误触。

    其它设置说明

    • 重置所有为默认:指将设置和任务执行时间缓存重置为默认。
    • 再次执行所有任务会使相关缓存重置为默认,可以在勾选了新的任务设置后使用。
    • 支持输入框回车保存。

    运行日志

    1. 普通的日志可以点击聊天区上方,大航海右侧的【脚本日志】查看。
    2. 脚本默认开启控制台日志,打开控制台在Filter中输入IGIFTMSG即可过滤出本脚本的日志。若想关闭日志可以在脚本头部加入console.log = () => {}
      如果使用脚本过程中遇到问题,可以在控制台中寻找相关错误信息。

    关于反馈

    反馈bug前请先阅读bug_report.md


    已知问题

    1. #12
      本脚本可能与Bilibili-Evolved存在兼容性问题导致脚本窗口无法正确加载。若出现此问题,请尝试在Bilibili-Evolved设置-其它中,将加载模式设置为延后,打开启用Ajax Hook API
    2. 脚本每次更新后第一次运行可能会不工作,刷新一下页面即可。
    3. 在有多层嵌套iframe的直播间运行时,可能会看不到提示信息,但不影响使用。

    许可证

    MIT License


    其它信息

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

    本脚本使用的库:

    本脚本引用的外部资源:

    感谢以上这些项目的作者~


    更新日志

    5.0.1

    天选时刻模块bug修复和优化。

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