您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
参考说明
// ==UserScript== // @name b站直播间自动抽红包脚本【已不兼容】 // @namespace http://tampermonkey.net/ // @version 1.8 // @description 参考说明 // @author Ikaros // @match https://live.bilibili.com/* // @grant none // @license MIT // ==/UserScript== window.addEventListener('load', function() { console.log("b站直播间自动抽红包脚本 成功加载!"); var t1 = window.setTimeout(function() { // 时间戳转 0年月日时分秒毫秒 1年月日时分秒 2时分秒 function time_change(type) { var date = new Date(); var Y = date.getFullYear() + '-'; var M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-'; var D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' '; var h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()); var m = ':' + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()); var s = ':' + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds()); if(type == 0) { var commonTime = date.toLocaleString(); return commonTime; } else if(type == 1) { return Y + M + D + h + m + s; } else { return h + m + s; } } // 日志用时间打印 function log_time() { var date = new Date(); return '[' + time_change(1) + '] '; } // 自动点赞 function auto_zan() { document.getElementsByClassName("emoticons-panel")[0].click(); setTimeout( function () { document.getElementsByClassName("emoticon-item")[0].click(); }, 1000 ); } console.log(log_time() + "b站直播间自动抽红包脚本 开始运行"); // 定时器1 var Interval1; // 判断标志位 0未抽奖,1抽奖中 var flag = 0; // 抽红包 function get_RedPocketDraw() { // 判断是否有红包 var parent_dom = document.getElementById("gift-control-vm"); if(parent_dom.getElementsByClassName("time-span").length <= 0) { // console.log(log_time() + "当前无红包"); return; } // 判断是否正处于抽奖状态,是抽奖中就直接return,未抽奖则继续往下进行抽奖 if(1 == flag) { // console.log(log_time() + "正处于抽奖状态"); return; } // 判断计时的dom的内容 var temp_arr = ['已开奖', '00:00', '00:01', '00:02', '00:03', '00:04']; for(var i = 0; i < temp_arr.length; i++) { if(document.getElementsByClassName("time-span")[0].innerText == temp_arr[i]) { // console.log(log_time() + "红包在4秒内跳过"); // 如果计时在上述数组中,因为延时的设计,只有4秒内开奖的就不抽了,直接跳过。 return; } } // 置抽奖状态 flag = 1; var now_time_span = document.getElementsByClassName("time-span")[0].innerText; var time_arr = now_time_span.split(':'); var sec = parseInt(time_arr[0]) * 60 + parseInt(time_arr[1]); // console.log(log_time() + "now_time_span=" + now_time_span); // 点击红包 document.getElementsByClassName("entry-icon")[0].click(); setTimeout( function () { // 点击参与抽奖 document.getElementsByClassName("join-timeout-start")[0].click(); }, 1000 ); setTimeout( function () { // 关闭红包弹窗 document.getElementsByClassName("img")[document.getElementsByClassName("img").length - 1].click(); }, 2000 ); setTimeout( function () { // 自动点赞,如果需要开启此功能,请删除下行的 //,这个注释 保存即可 //auto_zan(); }, 3000 ); setTimeout( function () { // 抽奖结束,恢复抽奖标志位 flag = 0; // console.log(log_time() + "上一轮抽奖结束"); // 关闭红包弹窗 延时抽奖时间+3秒 document.getElementsByClassName("img")[document.getElementsByClassName("img").length - 1].click(); }, (sec + 3) * 1000 ); } setTimeout(get_RedPocketDraw, 2000); // 设置定时为15s循环一次,可以自行修改 Interval1 = setInterval(get_RedPocketDraw, 15000); // 去除定时器 window.clearTimeout(t1); }, 2000); })