// ==UserScript==
// @name 斗鱼自动发弹幕、领取观看鱼丸、清爽模式
// @namespace http://tampermonkey.net/
// @version 0.6.1
// @icon http://www.douyutv.com/favicon.ico
// @description 默认弹幕、循环弹幕、抽奖弹幕。清爽模式,隐藏无关元素。领取观看鱼丸(不是鱼秀宝箱)。以上功能可以设置是否自动启动。
// @author H2P
// @require https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js
// @match *://*.douyu.com/0*
// @match *://*.douyu.com/1*
// @match *://*.douyu.com/2*
// @match *://*.douyu.com/3*
// @match *://*.douyu.com/4*
// @match *://*.douyu.com/5*
// @match *://*.douyu.com/6*
// @match *://*.douyu.com/7*
// @match *://*.douyu.com/8*
// @match *://*.douyu.com/9*
// @match *://*.douyu.com/topic/*
// @note 2019.3.18-V0.2.0 循环弹幕可以设置多条,随机发送;新增弹幕倒计时;界面美化一下?抽奖弹幕新增一种查询类型
// @note 2019.3.18-V0.3.0 界面修改;界面可隐藏;可以设置是否发送默认弹幕
// @note 2019.3.18-V0.3.1 小 BUG 修复
// @note 2019.3.19-V0.4.0 引入 JQuery 改写,还没改完;更新了弹幕抽奖元素获取(因为斗鱼改了);增加设置抽奖弹幕次数;发送弹幕时可以修改循环弹幕
// @note 2019.3.23-V0.4.1 完善了一下代码;完善了界面;修改了字体
// @note 2019.3.23-V0.5.0 添加了斗鱼清爽模式:隐藏部分、隐藏全部、删除元素
// @note 2019.3.23-V0.5.1 修缮清爽模式;添加自动领取观看鱼丸(不是鱼秀宝箱)
// @note 2019.3.24-V0.5.2 修缮自动领取观看鱼丸;修缮隐藏全部元素的返回按钮
// @note 2019.3.24-V0.5.3 修改介绍。。。
// @note 2019.3.24-V0.5.4 修缮自动领取观看鱼丸,如果无法领取则清除循环
// @note 2019.3.24-V0.5.5 解决 jQuery $ 冲突;清爽模式处理粉丝节
// @note 2019.3.24-V0.6.0 添加“功能自动化”设置面板
// @note 2019.3.24-V0.6.1 修改介绍
// @grant none
// @downloadURL none
// ==/UserScript==
(function() {
'use strict';
var $h2p_j = jQuery.noConflict();
var h2p_DYScript_version = '0.6.1';
var interval_autoSendBarrage = undefined; // 自动发弹幕
var interval_countDownOfBarrage = undefined; // 弹幕倒计时
var bool_barrageReady = false; // 自动弹幕模块是否装载完毕
var bool_clearReady = false; // 自动清理模块是否装载完毕
var bool_settingReady = false; // 斗鱼设置模块是否装载完毕
var interval = 0; // 弹幕发送间隔时间
var interval_default = 5; // 弹幕发送默认间隔时间
var luckDrawCountDown = 0; // 弹幕抽奖活动倒计时
var barrageCountDown = 0; // 弹幕倒计时
var barrageLuckDraw = ''; // 抽奖弹幕内容
var count_luckDraw = 0; // 抽奖弹幕实际发送次数
var count_luckDrawTotal = 0; // 抽奖弹幕总共发送次数
var count_luckDrawDefault = 5; // 抽奖弹幕默认发送次数
var color_input_on = 'white';
var color_input_off = '#DCDCDC';
var color_font_green = '#228B22';
var fontSize_input = '13px';
// 设置弹幕面板字体
var fontFamily = 'WeibeiSC-Bold, STKaiti';
// 元素样式 ===============================================================
var style_div_layer = {
'position' : 'relative',
'width' : '100%',
'height' : '24px',
};
var style_div_half = {
'position' : 'absolute',
'width' : '50%',
'height' : '24px',
};
var style_input_checkBok_left = {
'position' : 'absolute',
'top' : '0',
'bottom' : '0',
'left' : '0',
'margin' : 'auto',
};
var style_input = {
'position' : 'absolute',
'height' : '22px',
'padding' : '0px 5px',
'border' : '1px solid #708090',
'border-radius' : '5px',
'font-size' : fontSize_input,
}
var style_label_checkBok_left = {
'margin' : '0 0 0 20px',
};
var style_btn = {
'width' : '100%',
'height' : '100%',
'padding' : '4px 0',
'border' : 'none',
'border-radius' : '5px',
'margin' : '0',
'font-size' : fontSize_input,
'background' : '#00ddbb',
'cursor' : 'pointer',
};
// 初始化界面 ===============================================================
var initView_barrage = function(){
var div_sendBarrage = document.createElement('div');
$h2p_j(div_sendBarrage).attr('id', 'div-sendBarrage');
$h2p_j(div_sendBarrage).css({
'position' : 'absolute',
'bottom' : '1px',
'min-width' : '315px',
'max-width' : '315px',
'padding' : '10px',
'border' : '1px solid #DCDCDC',
'border-radius' : '2px',
'margin' : '0 0 0 -1px',
'box-shadow' : '#A9A9A9 5px 0 10px 0',
'font-family' : fontFamily,
'font-size' : '16px',
'background' : '#f5f5f5',
'display' : 'none',
'z-index' : '998',
});
// 发送弹幕的速度 ===============================================================
var div_speed_countDown = document.createElement('div');
$h2p_j(div_speed_countDown).css(style_div_layer);
var div_speed = document.createElement('div');
$h2p_j(div_speed).css(style_div_half);
var label_speed = document.createElement('label');
$h2p_j(label_speed).text('间隔:');
$h2p_j(div_speed).append(label_speed);
var input_speed = document.createElement('input');
$h2p_j(input_speed).attr('id', 'input-sendBarrage-speed');
$h2p_j(input_speed).css(style_input);
$h2p_j(input_speed).css('width', '56px');
$h2p_j(input_speed).attr('placeholder', '默认 5');
input_speed.onblur = input_speed.onkeyup = function(){
var value = this.value;
value = value.replace(/[^\d]/g,'');
while( value.length > 0 && value[0] == '0' ){
value = value.substr(1, value.length);
}
if( value.length > 3 ){
value = value.substr(0, 3);
}
this.value = value;
}
$h2p_j(div_speed).append(input_speed);
var label_unit = document.createElement('label');
$h2p_j(label_unit).css({
'position' : 'absolute',
'left' : '120px',
});
$h2p_j(label_unit).text('秒');
$h2p_j(div_speed).append(label_unit);
$h2p_j(div_speed_countDown).append(div_speed);
// 发送弹幕倒计时
var div_countDown = document.createElement('div');
$h2p_j(div_countDown).css(style_div_half);
$h2p_j(div_countDown).css('left', '50%');
var label_countDown = document.createElement('label');
$h2p_j(label_countDown).css('color', color_font_green);
$h2p_j(label_countDown).text('弹幕倒计:');
$h2p_j(div_countDown).append(label_countDown);
var input_numOfCountDown = document.createElement('input');
$h2p_j(input_numOfCountDown).attr('id', 'input-countDown');
$h2p_j(input_numOfCountDown).css(style_input);
$h2p_j(input_numOfCountDown).css({
'width' : '65px',
'background' : color_input_off,
});
$h2p_j(input_numOfCountDown).attr('disabled', true);
$h2p_j(div_countDown).append(input_numOfCountDown);
$h2p_j(div_speed_countDown).append(div_countDown);
// 是否发送默认弹幕 ===============================================================
var div_defaultBarrage = document.createElement('div');
$h2p_j(div_defaultBarrage).css(style_div_layer);
$h2p_j(div_defaultBarrage).css('height', '22px');
var input_defaultBarrage = $h2p_j('');
$h2p_j(input_defaultBarrage).attr('id', 'input-isDefaultBarrage');
$h2p_j(input_defaultBarrage).css(style_input_checkBok_left);
$h2p_j(div_defaultBarrage).append(input_defaultBarrage);
var label_defaultBarrage = document.createElement('label');
$h2p_j(label_defaultBarrage).css(style_label_checkBok_left);
$h2p_j(label_defaultBarrage).text('发送默认弹幕');
$h2p_j(div_defaultBarrage).append(label_defaultBarrage);
// 是否发送循环弹幕 ===============================================================
var div_barrage = document.createElement('div');
$h2p_j(div_barrage).css(style_div_layer);
$h2p_j(div_barrage).css('height', '98px');
var input_isLoopBarrage = $h2p_j('');
$h2p_j(input_isLoopBarrage).attr('id', 'input-isLoopBarrage');
$h2p_j(input_isLoopBarrage).css(style_input_checkBok_left);
$h2p_j(div_barrage).append(input_isLoopBarrage);
var input_barrage = document.createElement('textarea');
$h2p_j(input_barrage).attr('id', 'input-sendBarrage-content');
$h2p_j(input_barrage).css({
'width' : '287px',
'height' : '90px',
'padding' : '3px',
'border' : '1px solid #708090',
'border-radius' : '5px',
'margin' : '0 0 0 20px',
'font-size' : fontSize_input,
'resize' : 'none',
});
input_barrage.placeholder = '循环弹幕';
$h2p_j(div_barrage).append(input_barrage);
// 是否参加弹幕抽奖 ===============================================================
var div_luckDrawBarrage = document.createElement('div');
$h2p_j(div_luckDrawBarrage).css(style_div_layer);
var div_isLuckDrawBarrage = document.createElement('div');
$h2p_j(div_isLuckDrawBarrage).css(style_div_half);
var input_luckDrawBarrage = $h2p_j('');
$h2p_j(input_luckDrawBarrage).attr('id', 'input-isLuckDrawBarrage');
$h2p_j(input_luckDrawBarrage).css(style_input_checkBok_left);
$h2p_j(div_isLuckDrawBarrage).append(input_luckDrawBarrage);
var label_luckDrawBarrage = document.createElement('label');
$h2p_j(label_luckDrawBarrage).css(style_label_checkBok_left);
$h2p_j(label_luckDrawBarrage).text('参与抽奖弹幕');
$h2p_j(div_isLuckDrawBarrage).append(label_luckDrawBarrage);
$h2p_j(div_luckDrawBarrage).append(div_isLuckDrawBarrage);
// 抽奖弹幕发送次数
var div_luckDrawBarrageCount = document.createElement('div');
$h2p_j(div_luckDrawBarrageCount).css(style_div_half);
$h2p_j(div_luckDrawBarrageCount).css('left', '50%');
var label_luckDrawBarrageCount = document.createElement('label');
$h2p_j(label_luckDrawBarrageCount).css('color', color_font_green);
$h2p_j(label_luckDrawBarrageCount).text('抽奖发送:');
$h2p_j(div_luckDrawBarrageCount).append(label_luckDrawBarrageCount);
var input_luckDrawBarrageCount = document.createElement('input');
$h2p_j(input_luckDrawBarrageCount).attr('id', 'input-luckDrawCount');
$h2p_j(input_luckDrawBarrageCount).css(style_input);
$h2p_j(input_luckDrawBarrageCount).css('width', '65px');
$h2p_j(input_luckDrawBarrageCount).attr('placeholder', '默认 5 次');
input_luckDrawBarrageCount.onblur = input_luckDrawBarrageCount.onkeyup = function(){
var value = this.value;
value = value.replace(/[^\d]/g,'');
while( value.length > 0 && value[0] == '0' ){
value = value.substr(1, value.length);
}
if( value.length > 2 ){
value = value.substr(0, 2);
}
this.value = value;
}
$h2p_j(div_luckDrawBarrageCount).append(input_luckDrawBarrageCount);
$h2p_j(div_luckDrawBarrage).append(div_luckDrawBarrageCount);
// 弹幕发送按钮 ===============================================================
var div_sendBtn = document.createElement('div');
$h2p_j(div_sendBtn).css(style_div_layer);
var btn_send = document.createElement('button');
$h2p_j(btn_send).attr('id', 'btn-send');
$h2p_j(btn_send).text('发送');
$h2p_j(btn_send).css({
'width' : '100%',
'height' : '100%',
'padding' : '4px 0',
'border' : 'none',
'border-radius' : '5px',
'margin' : '0',
'font-size' : fontSize_input,
'background' : '#00ddbb',
'cursor' : 'pointer',
});
btn_send.onclick = function(){
clearInterval_barrageCountDown();
if( interval_autoSendBarrage == undefined ){
setInterval_autoSendBarrage();
setInterval_barrageCountDown();
}
else {
clearInterval_autoSendBarrage();
}
}
btn_send.onmouseover = function(){
this.style.background = '#00d1b2';
}
btn_send.onmouseout = function(){
this.style.background = '#00ddbb';
}
$h2p_j(div_sendBtn).append(btn_send);
// 分隔线 ===============================================================
var hr_style = '
';
// 添加所有元素 ===============================================================
$h2p_j(div_sendBarrage).append(div_speed_countDown);
$h2p_j(div_sendBarrage).append($h2p_j(hr_style));
$h2p_j(div_sendBarrage).append(div_defaultBarrage);
$h2p_j(div_sendBarrage).append($h2p_j(hr_style));
$h2p_j(div_sendBarrage).append(div_barrage);
$h2p_j(div_sendBarrage).append($h2p_j(hr_style));
$h2p_j(div_sendBarrage).append(div_luckDrawBarrage);
$h2p_j(div_sendBarrage).append($h2p_j(hr_style));
$h2p_j(div_sendBarrage).append(div_sendBtn);
// 检查弹幕面板挂载点(斗鱼弹幕显示区域)是否加载完成
var check_mountPoint_barragePanel = setInterval( function(){
if( $h2p_j('div.layout-Player-asideMainTop')[0] ){
setTimeout( function(){
$h2p_j('div.layout-Player-asideMainTop')[0].append(div_sendBarrage);
}, 3000);
window.clearInterval( check_mountPoint_barragePanel );
}
}, 1000);
// 检查弹幕图标挂载点(斗鱼弹幕输入框)是否加载完成
var check_mountPoint_barrageIcon = setInterval( function(){
if( document.getElementById('div-sendBarrage') && document.getElementsByClassName('ChatToolBar')[0] ){
var div_sign = document.createElement('div');
$h2p_j(div_sign).css({
'width' : '18px',
'height' : '18px',
'margin' : '-8px 0 0 -5px',
'display' : 'inline-block',
'vertical-align' : 'middle',
});
$h2p_j(div_sign).css('title', '斗鱼自动发弹幕');
var btn_sign = document.createElement('span');
$h2p_j(btn_sign).attr('id', 'button-sign');
$h2p_j(btn_sign).css({
'font-size' : '18px',
'cursor' : 'pointer',
});
$h2p_j(btn_sign).text('📢');
btn_sign.onclick = function(){
$h2p_j('div#div-sendBarrage').toggle();
$h2p_j('div#div-DYLight').hide();
$h2p_j('div#div-setting').hide();
};
$h2p_j(div_sign).append(btn_sign);
$h2p_j('div.ChatToolBar')[0].append(div_sign);
window.clearInterval( check_mountPoint_barrageIcon );
bool_barrageReady = true;
}
}, 1000);
}
function sendBarrage(){
var barrage = '';
var isLuckDrawBarrage = 0;
// 优先抽奖弹幕
if( document.getElementById('input-isLuckDrawBarrage') && document.getElementById('input-isLuckDrawBarrage').checked ){
var temp1 = document.getElementsByClassName('UPlayerLotteryEnter-deadsec')[0];
if( temp1 ){
// 计算目前倒计时
var minute = parseInt( temp1.textContent.split(':')[0] );
var second = parseInt( temp1.textContent.split(':')[1] );
var nowLuckDrawCountDown = minute * 60 + second;
// 判断是否是新一轮抽奖
if( nowLuckDrawCountDown > luckDrawCountDown ){
// 新一轮抽奖弹幕
count_luckDraw = 0;
// 显示抽奖内容
temp1.click();
// 获取抽奖弹幕内容
try{
barrageLuckDraw = document.getElementsByClassName('ULotteryStart-danmuDesc UserLottery-ellipse is-coping')[0].textContent;
barrageLuckDraw = barrageLuckDraw.split(':')[1];
}catch(err){
console.log('不是弹幕抽奖');
}finally{
$h2p_j('span.LotteryContainer-close').click();
}
}
barrage = count_luckDraw < count_luckDrawTotal ? barrageLuckDraw : '';
if( barrage != undefined && barrage.length > 0 ){
isLuckDrawBarrage = 1;
count_luckDraw++;
}
luckDrawCountDown = nowLuckDrawCountDown;
}
}
// 循环发送自定义弹幕
if( ( barrage == undefined || barrage.length == 0 ) && document.getElementById('input-isLoopBarrage') && document.getElementById('input-isLoopBarrage').checked ){
var barrageLoop = new Array();
barrageLoop = document.getElementById('input-sendBarrage-content').value.split('\n');
let index = Math.round( Math.random()*barrageLoop.length );
barrage = barrageLoop[index] ? barrageLoop[index] : barrageLoop[0];
}
// 代码内置弹幕
if( ( barrage == undefined || barrage.length == 0 ) && document.getElementById('input-isDefaultBarrage') && document.getElementById('input-isDefaultBarrage').checked ){
var praise = [ ',我们一起手牵手走过很多路,我们一起手牵手唱了很多歌,我们也手牵手爱了彼此很久很久。', ',遇见你本身就是一个错误,爱上你便是一错再错,离开你的时候我才明白,这才是错上加错。', '追我追了三条街;谢霆锋昨天看见我后,立即宣布要在9月份退出演艺圈!不为别的,就是因为我长得实在是太帅了!', ',每次你凶我的时候,我都觉得你有病,面对这么帅气的我,你居然还能发脾气。', '一直承受着这个年纪不该有的帅气,好累。', '只恨自己太倔强,明明可以靠脸吃饭,却偏偏要靠才华。', '帅到走在街上开车的人看了都会发生交通事故,汽车追尾;路人看了都有迷倒晕倒~~', '人见人爱,鸟见鸟呆,风靡万千少女,刺激帅哥市场,挽救无数,一支梨花压海棠……', '你是花丛中的蝴蝶,是百合花中的蓓蕾。无论什么衣服穿到你的身上,总是那么端庄好看。', '你也许没有若隐若现的酒窝,但你的微笑一定是月闭花羞,鱼沉雁落。', ',在人流中,我一眼就发现了你。我不敢说你是她们中最漂亮的一个,可是我敢说,你是她们中最出色的一个。','求你不要再打扮了,给其他的女人留点自信吧。', 'skr~skr~skr~', '的美由骨到皮,感天动地,此情可待成追忆', '蹦蹦跳跳地走进来,一件红尼大衣,紧束着腰带,显得那么轻盈,那么矫健,简直就像天边飘来一朵红云。', '一张坏坏的笑脸,连两道浓浓的眉毛也泛起柔柔的涟漪,好像一直都带着笑意,弯弯的,像是夜空里皎洁的上弦月。白皙的皮肤衬托着淡淡桃红色的嘴唇,俊美突出的五官,完美的脸型,特别是左耳闪着炫目光亮的钻石耳钉,给他的阳光帅气中加入了一丝不羁。', '真是个聪明的孩子!', '是花丛中的蝴蝶,是百合花中的蓓蕾。无论什么衣服穿到你的身上,总是那么端庄、好看。', '全身充溢着少女的纯情和青春的风采。留给我印象最深的是你那双湖水般清澈的眸子,以及长长的、一闪一闪的睫毛。像是探询,像是关切,像是问候。', ',只有莲花才能比得上你的圣洁,只有月亮才能比得上你的冰清。', ',我不知道该怎样表达你留在我心中最强最深的印象,是你丰满颀长的身材,白皙的皮肤。乌黑幽深的眼睛,小巧红润的嘴唇,但还有一种说不出,捉不到的丰仪在煽动着我的心。', '表现的很勇敢,是一个真正的男子汉!', '想法很有创意!', '瀑布一般的长发,淡雅的连衣裙,标准的瓜子脸,聪明的杏仁眼,那稳重端庄的气质,再调皮的人见了你都会小心翼翼。', '娉婷婉约的风姿,娇艳俏丽的容貌,妩媚得体的举止,优雅大方的谈吐,一开始就令我刮目相看。', '像一片轻柔的云在我眼前飘来飘去,你清丽秀雅的脸上荡漾着春天般美丽的笑容。', '说话得体,举止大方。不要吝啬赞美!因为你的赞美,对他人是一种鼓励,一种信任。', '思维太活跃了,我根本就跟不上。', '是那样地美,美得象一首抒情诗。', '远近书疏,莫不手答,笔翰如流未尝壅滞。', '双目似有千情万怨,道不尽也诉不完,一句巧笑倩兮,美目盼兮可能描述碧瑶盈盈眼波。', '双眉有如柳叶刀裁,盈盈笑意眉上来,一句云髻峨峨,修眉联娟得以道出碧瑶云云细眉。', '那红嘟嘟地脸蛋闪着光亮,像九月里熟透地苹果一样。', '像那沾满露珠的花瓣,给我带来一室芳香;你像那划过蓝天的鸽哨,给我带来心灵的静远和追求。', '乌灵的眼眸,倏地笼上层嗜血的寒意,仿若魔神降世一般,一双冰眸轻易贯穿人心,刺透心底最柔弱,舞衣的角落。', '眼神优雅、娴静,双眼回盼流波,像是俏丽的江南女子;但又挂着一丝倔犟的波纹,又带着北国女儿的神韵。', '清水出芙蓉,天然去雕饰。', '刹那芳华,犹如指尖流砂。灿烂烟花,终究剪不下。', '不必假装有深度,只要懂得欣赏别人的深度,已经是 一种美德了。', '言谈中可以看出,我今天遇到的都是有修养的人。', '白皙的皮肤衬托着淡淡桃红色的嘴唇,俊美突出的五官,完美的脸型,特别是左耳闪着炫目光亮的钻石耳钉,给他的阳光帅气中加入了一丝不羁。', '真是一位家庭、事业有成的人,非常令人羡慕。', '一席话,胜读十年书,今天与您交谈,我受益匪浅。', '真幽默,话从您口中说出来就是不一样。', '在午后的阳光下,没有丝毫红晕,清秀的脸上只显出了一种病态的苍白,却无时不流露出高贵淡雅的气质,配合他颀长纤细的身材。', '那双圆溜溜的大眼睛,镶了一圈乌黑闪亮的长睫毛,眨动之间,透出一股聪明伶俐劲儿。', '目光深邃,一看您就是一位有思想的人。', '语调独特,言谈话语中充满了感染力。', '别开玩笑了,看您的容貌,肯定不到四十岁。', '立体的五官刀刻般俊美,整个人发出一种威震天下的王者之气,邪恶而俊美的脸上此时噙着一抹放荡不拘的微笑。', '好像是上品的西湖龙井那种淡淡的苦涩是你的成熟越品你越有味道。', '浓密的眉毛叛逆地稍稍向上扬起,长而微卷的睫毛下,有着一双像朝露一样清澈的眼睛,英挺的鼻梁,像玫瑰花瓣一样粉嫩的嘴唇,还有白皙的皮肤。', '可以夸,但没必要。。。', '游戏打的不错', '英俊潇洒', '风流倜傥', '玉树临风', '遇见你之后,再看别的女人,就好象在侮辱自己的眼睛!', '神勇威武', '你笑起来的样子最为动人,两片薄薄的嘴唇在笑,长长的眼睛在笑,腮上两个陷得很举动的酒窝也在笑。', '宇内第一寂寞高手', '满腹经纶!这果然是奥妙!我等佩服!', '天资聪颖,文思敏捷,下笔成章,将来未可限量!', '玉面郎君', '仁者无敌', '那瓜子形的脸,那么白净,弯弯的一双眉毛,那么修长;水汪汪的一对眼睛,那么明亮!', '金刚不坏', '英明神武'];
var subject = "主播";
let index = Math.round( Math.random()*praise.length );
barrage = subject + praise[index];
}
if( barrage != undefined && barrage.length > 0 ){
if( isLuckDrawBarrage === 1 ){
$h2p_j('#input-luckDrawCount').val( count_luckDraw + ' / ' + count_luckDrawTotal );
}
$h2p_j( $h2p_j('textarea.ChatSend-txt ')[0] ).val(barrage);
document.getElementsByClassName('ChatSend-button')[0].click();
}
if( interval_countDownOfBarrage == undefined ){
setInterval_barrageCountDown();
}
}
function setInterval_autoSendBarrage(){
var input_speed = document.getElementById('input-sendBarrage-speed');
interval = parseInt( input_speed.value ) >= 2 ? parseInt( input_speed.value ) : interval_default;
$h2p_j(input_speed).attr('disabled', true);
$h2p_j(input_speed).css({
'background' : color_input_off,
'cursor' : 'default',
});
$h2p_j('button#btn-send').text('停止发送');
var input_luckDrawBarrageCount = document.getElementById('input-luckDrawCount');
$h2p_j(input_luckDrawBarrageCount).attr('disabled', true);
$h2p_j(input_luckDrawBarrageCount).css({
'background' : color_input_off,
'cursor' : 'default',
});
count_luckDraw = 0;
count_luckDrawTotal = parseInt( $h2p_j('#input-luckDrawCount').val() );
count_luckDrawTotal = count_luckDrawTotal ? count_luckDrawTotal : count_luckDrawDefault;
$h2p_j('#button-sign').text('🔥');
interval_autoSendBarrage = setInterval(sendBarrage, interval * 1000);
}
function clearInterval_autoSendBarrage(){
window.clearInterval(interval_autoSendBarrage);
interval_autoSendBarrage = undefined;
var input_speed = document.getElementById('input-sendBarrage-speed');
$h2p_j(input_speed).attr('disabled', false);
$h2p_j(input_speed).css({
'background' : color_input_on,
'cursor' : 'text',
});
$h2p_j('button#btn-send').text('发送');
var input_luckDrawBarrageCount = document.getElementById('input-luckDrawCount');
$h2p_j(input_luckDrawBarrageCount).attr('disabled', false);
$h2p_j(input_luckDrawBarrageCount).css({
'background' : color_input_on,
'cursor' : 'text',
});
$h2p_j('#input-luckDrawCount').val(count_luckDrawTotal);
$h2p_j('#button-sign').text('📢');
}
function showBarrageCountDown(){
if( barrageCountDown <= 0 ){
barrageCountDown = interval;
}
$h2p_j('#input-countDown').val(--barrageCountDown);
}
function setInterval_barrageCountDown(){
barrageCountDown = interval;
interval_countDownOfBarrage = setInterval(showBarrageCountDown, 1000);
}
function clearInterval_barrageCountDown(){
window.clearInterval(interval_countDownOfBarrage);
interval_countDownOfBarrage = undefined;
$h2p_j('#input-countDown').val('');
}
// 调用初始化自动发弹幕函数
initView_barrage();
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
var bool_hide_part = 0;
var bool_hide_all = 0;
var initView_clearUp = function(){
var div_DYLight = document.createElement('div');
$h2p_j(div_DYLight).attr('id', 'div-DYLight');
$h2p_j(div_DYLight).css({
'position' : 'absolute',
'bottom' : '1px',
'min-width' : '315px',
'max-width' : '315px',
'padding' : '10px',
'border' : '1px solid #DCDCDC',
'border-radius' : '2px',
'margin' : '0 0 0 -1px',
'box-shadow' : '#A9A9A9 5px 0 10px 0',
'font-family' : fontFamily,
'font-size' : '16px',
'background' : '#f5f5f5',
'display' : 'none',
'z-index' : '999',
});
var btn_hide_part = document.createElement('button');
$h2p_j(btn_hide_part).attr('id', 'btn-hide-part');
$h2p_j(btn_hide_part).text('隐藏部分元素');
$h2p_j(btn_hide_part).css(style_btn);
btn_hide_part.onclick = function(){
douyu_hide_part();
}
btn_hide_part.onmouseover = function(){
this.style.background = '#00d1b2';
}
btn_hide_part.onmouseout = function(){
this.style.background = '#00ddbb';
}
var btn_hide_all = document.createElement('button');
$h2p_j(btn_hide_all).attr('id', 'btn-hide-all');
$h2p_j(btn_hide_all).text('隐藏全部元素');
$h2p_j(btn_hide_all).css(style_btn);
btn_hide_all.onclick = function(){
douyu_hide_all();
}
btn_hide_all.onmouseover = function(){
this.style.background = '#00d1b2';
}
btn_hide_all.onmouseout = function(){
this.style.background = '#00ddbb';
}
// 分隔线 ===============================================================
var hr_style = '
';
// 添加所有清爽按钮
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append(btn_hide_part);
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append(btn_hide_all);
$h2p_j(div_DYLight).append($h2p_j(hr_style));
$h2p_j(div_DYLight).append($h2p_j(hr_style));
// 隐藏全部返回键
var btn_hide_all_back = document.createElement('button');
$h2p_j(btn_hide_all_back).attr('id', 'btn-hide-all-back');
$h2p_j(btn_hide_all_back).text('退出清爽');
$h2p_j(btn_hide_all_back).css({
'position' : 'fixed',
'right' : '0',
'bottom' : '0',
'width' : '55px',
'height' : '55px',
'padding' : '10px',
'border' : 'none',
'font-size' : fontSize_input,
'background' : 'transparent',
'cursor' : 'pointer',
'display' : 'none',
});
$h2p_j(btn_hide_all_back).click(douyu_hide_all);
$h2p_j(btn_hide_all_back).mouseenter(function(){
$h2p_j(this).css('background', '#00ddbb');
});
$h2p_j(btn_hide_all_back).mouseleave(function(){
$h2p_j(this).css('background', 'transparent');
});
document.body.appendChild(btn_hide_all_back);
// 检查清爽面板挂载点(斗鱼弹幕显示区域)是否加载完成
var check_mountPoint_clearPanel = setInterval( function(){
if( $h2p_j('div.layout-Player-asideMainTop')[0] ){
setTimeout( function(){
$h2p_j('div.layout-Player-asideMainTop')[0].append(div_DYLight);
}, 3000);
window.clearInterval( check_mountPoint_clearPanel );
}
}, 1000);
var check_mountPoint_clearIcon = setInterval( function(){
if( document.getElementById('div-DYLight') && document.getElementsByClassName('ChatToolBar')[0] ){
$h2p_j('div.Horn4Category').hide();
$h2p_j('div.ChatNobleBarrage').hide();
$h2p_j('div.BarrageSuperLink').hide();
var div_clear = document.createElement('div');
$h2p_j(div_clear).css({
'width' : '18px',
'height' : '18px',
'margin' : '-8px 0 0 8px',
'display' : 'inline-block',
'vertical-align' : 'middle',
});
$h2p_j(div_clear).css('title', '斗鱼清爽模式');
var btn_clear = document.createElement('span');
$h2p_j(btn_clear).attr('id', 'button-clear');
$h2p_j(btn_clear).css({
'font-size' : '18px',
'cursor' : 'pointer',
});
$h2p_j(btn_clear).text('✡️');
btn_clear.onclick = function(){
$h2p_j('div#div-sendBarrage').hide();
$h2p_j('div#div-DYLight').toggle();
$h2p_j('div#div-setting').hide();
};
$h2p_j(div_clear).append(btn_clear);
$h2p_j('div.ChatToolBar')[0].append(div_clear);
window.clearInterval( check_mountPoint_clearIcon );
bool_clearReady = true;
}
}, 1000);
}
// 隐藏部分元素
var douyu_hide_part = function(){
if( bool_hide_all === 1 ){
return;
}
// 背景图片
$h2p_j('#js-background-holder').toggle();
// 导航栏 ==============================
// 斗鱼 logo
$h2p_j('a.Header-logo').toggle();
// 粉丝节
$h2p_j('div.HeaderNav').toggle();
// 客户端
$h2p_j('div.Header-download-wrap').toggle();
// 开播
$h2p_j('div.Header-broadcast-wrap').toggle();
// 导航栏 ==============================
// 左侧边栏
$h2p_j('#js-aside').toggle();
// 贡献周榜、贵族、粉丝团
$h2p_j('div.layout-Player-rank').toggle();
// 公告栏
$h2p_j('div.layout-Player-announce').toggle();
// 他的视频
$h2p_j('div.Title-roomOtherTop').toggle();
// 友邻
$h2p_j('div.Title-addFriend').toggle();
$h2p_j('div.Title-anchorFriend').toggle();
// 客户端查看
$h2p_j('.Title-blockInline').toggle();
// 任务、送礼物栏
$h2p_j('div#js-player-toolbar').toggle();
// 竞猜
$h2p_j('div#js-player-guessgame').toggle();
// 友邻、竞猜
$h2p_j('div#js-bottom').toggle();
if( bool_hide_part == 0 ){
bool_hide_part = 1;
$h2p_j('#btn-hide-all').attr('disabled', true);
$h2p_j('#btn-hide-all').css('cursor', 'default');
// 放大弹幕栏
$h2p_j('div#js-player-barrage').css('top', '0');
$h2p_j('.layout-Main').css('padding', '2px 35px 10px 35px');
$h2p_j('.layout-Main').css('margin-left', '0');
// 背景改为黑色
$h2p_j('.layout-Main').css('background', 'black');
$h2p_j('#btn-hide-part').text('显示部分元素');
// 特定元素 ================================================
document.getElementsByClassName('Act129684 ActBase is-show')[0].classList.remove('is-show');
// 特定元素 ================================================
setTimeout(function(){
if( document.getElementsByClassName('roomSmallPlayerFloatLayout-closeBtn')[0] ){
document.getElementsByClassName('roomSmallPlayerFloatLayout-closeBtn')[0].click();
}
}, 500);
}
else {
bool_hide_part = 0;
$h2p_j('#btn-hide-all').attr('disabled', false);
$h2p_j('#btn-hide-all').css('cursor', 'pointer');
$h2p_j('div#js-player-barrage').css('top', '256px');
$h2p_j('.layout-Main').css('padding', '10px 120px 0 120px');
$h2p_j('.layout-Main').css('margin-left', '48px');
// 去除背景黑色
$h2p_j('.layout-Main').css('background', '');
$h2p_j('#btn-hide-part').text('隐藏部分元素');
// 特定元素 ================================================
document.getElementsByClassName('Act129684 ActBase')[0].classList.add('is-show');
// 特定元素 ================================================
}
}
// 隐藏全部元素(除播放界面)
var douyu_hide_all = function(){
if( bool_hide_part === 1 ){
return;
}
// 背景图片
$h2p_j('#js-background-holder').toggle();
// 导航栏
$h2p_j('#js-header').toggle();
// 左边侧边
$h2p_j('#js-aside').toggle();
// 主播信息栏
$h2p_j('div#js-player-title').toggle();
// 右侧边栏
$h2p_j('div.layout-Player-aside').toggle();
// 任务、送礼物栏
$h2p_j('div#js-player-toolbar').toggle();
// 竞猜
$h2p_j('div#js-player-guessgame').toggle();
// 友邻、竞猜
$h2p_j('div#js-bottom').toggle();
// 放大剩余部分
var height = $h2p_j(window).height();
height = height >= 788 ? height : 788;
var width = $h2p_j(window).width();
width = width >= 1402 ? width : 1402;
var margin_right = parseInt( ( width - height / 788 * 1402 ) / 2 );
if( bool_hide_all === 0 ){
bool_hide_all = 1;
$h2p_j('#btn-hide-part').attr('disabled', true);
$h2p_j('#btn-hide-part').css('cursor', 'default');
$h2p_j('.layout-Container').css('padding-top', '0');
$h2p_j('.layout-Main').css('margin-left', 'auto');
$h2p_j('.layout-Main').css('margin-right', 'auto');
$h2p_j('.layout-Main').css('padding', '5px 0 0 0');
$h2p_j('div.layout-Player-main').css('margin', '0 ' + margin_right + 'px');
// 背景改为黑色
$h2p_j('.layout-Main').css('background', 'black');
$h2p_j('.layout-Container').css('background', 'black');
$h2p_j('.layout-Container').css('height', '100%');
$h2p_j('#btn-hide-all-back').show();
// 特定元素 ================================================
document.getElementsByClassName('Act129684 ActBase is-show')[0].classList.remove('is-show');
// 特定元素 ================================================
setTimeout(function(){
if( document.getElementsByClassName('roomSmallPlayerFloatLayout-closeBtn') ){
document.getElementsByClassName('roomSmallPlayerFloatLayout-closeBtn')[0].click();
}
}, 500);
}
else {
bool_hide_all = 0;
$h2p_j('#btn-hide-part').attr('disabled', false);
$h2p_j('#btn-hide-part').css('cursor', 'pointer');
$h2p_j('.layout-Container').css('padding-top', '68px');
$h2p_j('.layout-Main').css('margin-left', '48px');
$h2p_j('.layout-Main').css('padding', '10px 120px 0 120px');
$h2p_j('div.layout-Player-main').css('margin', '0 346px 0 0');
// 去除背景黑色
$h2p_j('.layout-Main').css('background', '');
$h2p_j('.layout-Container').css('background', '');
$h2p_j('.layout-Container').css('height', 'auto');
$h2p_j('#btn-hide-all-back').hide();
// 特定元素 ================================================
document.getElementsByClassName('Act129684 ActBase')[0].classList.add('is-show');
// 特定元素 ================================================
}
}
// 调用初始化清爽斗鱼的函数
initView_clearUp();
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// 自动领取观看鱼丸
var autoReceiveFishBall = function(){
var interval_autoReceiveFishBall = setInterval(function(){
if( document.getElementsByClassName('RewardModule-countdown') ){
if( document.getElementsByClassName('RewardModule-notify')[0] ){
var timeOfYuwan = document.getElementsByClassName('RewardModule-notify')[0].textContent;
if( ( timeOfYuwan != undefined && parseInt(timeOfYuwan) > 0 ) || document.getElementsByClassName('RewardModule-countdown')[0].textContent == '领 取' ){
document.getElementsByClassName('RewardModule-countdown')[0].click();
for( let i = 1; i <= parseInt(timeOfYuwan); i++ ){
setTimeout(function(){
try{
document.getElementsByClassName('RewardM-text enable')[0].click();
}catch(err){
document.getElementsByClassName('RewardModal-close')[0].click();
window.clearInterval(interval_autoReceiveFishBall);
interval_autoReceiveFishBall == undefined;
}
if( interval_autoReceiveFishBall && i == parseInt(timeOfYuwan) ){
setTimeout(function(){
if( document.getElementsByClassName('RewardM-result').length == 4 ){
window.clearInterval(interval_autoReceiveFishBall);
console.log('所有观看鱼丸领完');
}
document.getElementsByClassName('RewardModal-close')[0].click();
}, 200)
}
}, i * 100);
}
}
}
}
}, 5000);
}
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ //
// 斗鱼功能自动化启动设置
var h2p_DYScript_setting = {};
var h2p_DYScript_setting_default = {
defaultBarrage : false,
speed : 5,
loopBarrage : false,
loopBarrageContext : '',
luckDrawBarrage : false,
hidePart : false,
hideAll : false,
receiveFishBall : false,
version : '',
};
var initView_setting = function(){
try{
let settingValue = localStorage.getItem('h2p-DYScript-setting');
h2p_DYScript_setting = settingValue ? JSON.parse(settingValue) : h2p_DYScript_setting_default;
}catch(err){
localStorage.removeItem('h2p-DYScript-setting');
h2p_DYScript_setting = h2p_DYScript_setting_default;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
}
if( h2p_DYScript_setting.version != h2p_DYScript_version ){
localStorage.removeItem('h2p-DYScript-setting');
h2p_DYScript_setting = h2p_DYScript_setting_default;
h2p_DYScript_setting.version = h2p_DYScript_version;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
}
var div_setting = document.createElement('div');
$h2p_j(div_setting).attr('id', 'div-setting');
$h2p_j(div_setting).css({
'position' : 'absolute',
'bottom' : '1px',
'min-width' : '315px',
'max-width' : '315px',
'padding' : '10px',
'border' : '1px solid #DCDCDC',
'border-radius' : '2px',
'margin' : '0 0 0 -1px',
'box-shadow' : '#A9A9A9 5px 0 10px 0',
'font-family' : fontFamily,
'font-size' : '16px',
'background' : '#f5f5f5',
'display' : 'none',
'z-index' : '999',
});
// 默认弹幕
var div_auto_barrage = document.createElement('div');
$h2p_j(div_auto_barrage).css(style_div_layer);
// 是否自动发送默认弹幕
var div_auto_defaultBarrage = document.createElement('div');
$h2p_j(div_auto_defaultBarrage).css(style_div_half);
var input_auto_defaultBarrage = $h2p_j('');
$h2p_j(input_auto_defaultBarrage).attr('id', 'input-auto-defaultBarrage');
$h2p_j(input_auto_defaultBarrage).css(style_input_checkBok_left);
$h2p_j(input_auto_defaultBarrage).click(function(){
h2p_DYScript_setting.defaultBarrage = document.getElementById('input-auto-defaultBarrage').checked;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_defaultBarrage).append(input_auto_defaultBarrage);
var label_auto_defaultBarrage = document.createElement('label');
$h2p_j(label_auto_defaultBarrage).css(style_label_checkBok_left);
$h2p_j(label_auto_defaultBarrage).text('自动发送默认弹幕');
$h2p_j(div_auto_defaultBarrage).append(label_auto_defaultBarrage);
$h2p_j(div_auto_barrage).append(div_auto_defaultBarrage);
// 发送弹幕速度
var div_auto_speed = document.createElement('div');
$h2p_j(div_auto_speed).css(style_div_half);
$h2p_j(div_auto_speed).css('left', '50%');
var label_auto_speed = document.createElement('label');
$h2p_j(label_auto_speed).text('间隔:');
$h2p_j(div_auto_speed).append(label_auto_speed);
var input_auto_speed = document.createElement('input');
$h2p_j(input_auto_speed).attr('id', 'input-auto-sendBarrage-speed');
$h2p_j(input_auto_speed).css(style_input);
$h2p_j(input_auto_speed).css('width', '56px');
$h2p_j(input_auto_speed).attr('placeholder', '默认 5');
input_auto_speed.onblur = input_auto_speed.onkeyup = function(){
var value = this.value;
value = value.replace(/[^\d]/g,'');
while( value.length > 0 && value[0] == '0' ){
value = value.substr(1, value.length);
}
if( value.length > 3 ){
value = value.substr(0, 3);
}
this.value = value;
h2p_DYScript_setting.speed = parseInt(value) ? parseInt(value) : 5;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
}
$h2p_j(div_auto_speed).append(input_auto_speed);
var label_auto_unit = document.createElement('label');
$h2p_j(label_auto_unit).css({
'position' : 'absolute',
'left' : '120px',
});
$h2p_j(label_auto_unit).text('秒');
$h2p_j(div_auto_speed).append(label_auto_unit);
$h2p_j(div_auto_barrage).append(div_auto_speed);
// 是否自动发送循环弹幕
var div_auto_loopBarrage = document.createElement('div');
$h2p_j(div_auto_loopBarrage).css(style_div_layer);
var input_auto_loopBarrage = $h2p_j('');
$h2p_j(input_auto_loopBarrage).attr('id', 'input-auto-loopBarrage');
$h2p_j(input_auto_loopBarrage).css(style_input_checkBok_left);
$h2p_j(input_auto_loopBarrage).click(function(){
h2p_DYScript_setting.loopBarrage = document.getElementById('input-auto-loopBarrage').checked;
if( document.getElementById('input-sendBarrage-content').value.length > 0 ){
h2p_DYScript_setting.loopBarrageContext = document.getElementById('input-sendBarrage-content').value;
}
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_loopBarrage).append(input_auto_loopBarrage);
var label_auto_loopBarrage = document.createElement('label');
$h2p_j(label_auto_loopBarrage).css(style_label_checkBok_left);
$h2p_j(label_auto_loopBarrage).text('自动发送循环弹幕');
$h2p_j(div_auto_loopBarrage).append(label_auto_loopBarrage);
// 是否自动发送抽奖弹幕
var div_auto_luckDrawBarrage = document.createElement('div');
$h2p_j(div_auto_luckDrawBarrage).css(style_div_layer);
var input_auto_luckDrawBarrage = $h2p_j('');
$h2p_j(input_auto_luckDrawBarrage).attr('id', 'input-auto-luckDrawBarrage');
$h2p_j(input_auto_luckDrawBarrage).css(style_input_checkBok_left);
$h2p_j(input_auto_luckDrawBarrage).click(function(){
h2p_DYScript_setting.luckDrawBarrage = document.getElementById('input-auto-luckDrawBarrage').checked;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_luckDrawBarrage).append(input_auto_luckDrawBarrage);
var label_auto_luckDrawBarrage = document.createElement('label');
$h2p_j(label_auto_luckDrawBarrage).css(style_label_checkBok_left);
$h2p_j(label_auto_luckDrawBarrage).text('自动发送抽奖弹幕');
$h2p_j(div_auto_luckDrawBarrage).append(label_auto_luckDrawBarrage);
// 隐藏选项
var div_auto_hideOption = document.createElement('div');
$h2p_j(div_auto_hideOption).css(style_div_layer);
// 是否自动部分隐藏
var div_auto_hidePart = document.createElement('div');
$h2p_j(div_auto_hidePart).css(style_div_half);
var input_auto_hidePart = $h2p_j('');
$h2p_j(input_auto_hidePart).attr('id', 'input-auto-hidePart');
$h2p_j(input_auto_hidePart).css(style_input_checkBok_left);
$h2p_j(input_auto_hidePart).click(function(){
h2p_DYScript_setting.hidePart = document.getElementById('input-auto-hidePart').checked;
document.getElementById('input-auto-hideAll').checked = false;
h2p_DYScript_setting.hideAll = document.getElementById('input-auto-hideAll').checked;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_hidePart).append(input_auto_hidePart);
var label_auto_hidePart = document.createElement('label');
$h2p_j(label_auto_hidePart).css(style_label_checkBok_left);
$h2p_j(label_auto_hidePart).text('自动部分隐藏');
$h2p_j(div_auto_hidePart).append(label_auto_hidePart);
$h2p_j(div_auto_hideOption).append(div_auto_hidePart);
// 是否自动全部隐藏
var div_auto_hideAll = document.createElement('div');
$h2p_j(div_auto_hideAll).css(style_div_half);
$h2p_j(div_auto_hideAll).css('left', '50%');
var input_auto_hideAll = $h2p_j('');
$h2p_j(input_auto_hideAll).attr('id', 'input-auto-hideAll');
$h2p_j(input_auto_hideAll).css(style_input_checkBok_left);
$h2p_j(input_auto_hideAll).click(function(){
document.getElementById('input-auto-hidePart').checked = false;
h2p_DYScript_setting.hidePart = document.getElementById('input-auto-hidePart').checked;
h2p_DYScript_setting.hideAll = document.getElementById('input-auto-hideAll').checked;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_hideAll).append(input_auto_hideAll);
var label_auto_hideAll = document.createElement('label');
$h2p_j(label_auto_hideAll).css(style_label_checkBok_left);
$h2p_j(label_auto_hideAll).text('自动全部隐藏');
$h2p_j(div_auto_hideAll).append(label_auto_hideAll);
$h2p_j(div_auto_hideOption).append(div_auto_hideAll);
// 是否自动领取鱼丸
var div_auto_receiveFishBall = document.createElement('div');
$h2p_j(div_auto_receiveFishBall).css(style_div_layer);
$h2p_j(div_auto_receiveFishBall).css('height', '22px');
var input_auto_receiveFishBall = $h2p_j('');
$h2p_j(input_auto_receiveFishBall).attr('id', 'input-auto-receiveFishBall');
$h2p_j(input_auto_receiveFishBall).css(style_input_checkBok_left);
$h2p_j(input_auto_receiveFishBall).click(function(){
h2p_DYScript_setting.receiveFishBall = document.getElementById('input-auto-receiveFishBall').checked;
localStorage.setItem('h2p-DYScript-setting', JSON.stringify(h2p_DYScript_setting) );
});
$h2p_j(div_auto_receiveFishBall).append(input_auto_receiveFishBall);
var label_auto_receiveFishBall = document.createElement('label');
$h2p_j(label_auto_receiveFishBall).css(style_label_checkBok_left);
$h2p_j(label_auto_receiveFishBall).text('自动领取鱼丸');
$h2p_j(div_auto_receiveFishBall).append(label_auto_receiveFishBall);
// 分隔线 ===============================================================
var hr_style = '
';
// 添加所有设置按钮
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append(div_auto_barrage);
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append(div_auto_loopBarrage);
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append(div_auto_luckDrawBarrage);
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append(div_auto_hideOption);
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append(div_auto_receiveFishBall);
$h2p_j(div_setting).append($h2p_j(hr_style));
$h2p_j(div_setting).append($h2p_j(hr_style));
// 检查设置面板挂载点(斗鱼弹幕显示区域)是否加载完成
var check_mountPoint_settingPanel = setInterval( function(){
if( $h2p_j('div.layout-Player-asideMainTop')[0] ){
setTimeout( function(){
$h2p_j('div.layout-Player-asideMainTop')[0].append(div_setting);
}, 3000);
window.clearInterval( check_mountPoint_settingPanel );
}
}, 1000);
var check_mountPoint_settingIcon = setInterval( function(){
if( document.getElementById('div-setting') && document.getElementsByClassName('ChatToolBar')[0] ){
var div_setting = document.createElement('div');
$h2p_j(div_setting).css({
'width' : '18px',
'height' : '18px',
'margin' : '-8px 0 0 8px',
'display' : 'inline-block',
'vertical-align' : 'middle',
});
$h2p_j(div_setting).css('title', '脚本自动设置');
var btn_setting = document.createElement('span');
$h2p_j(btn_setting).attr('id', 'button-setting');
$h2p_j(btn_setting).css({
'font-size' : '18px',
'cursor' : 'pointer',
});
$h2p_j(btn_setting).text('⏲️');
btn_setting.onclick = function(){
$h2p_j('div#div-sendBarrage').hide();
$h2p_j('div#div-DYLight').hide();
$h2p_j('div#div-setting').toggle();
};
$h2p_j(div_setting).append(btn_setting);
$h2p_j('div.ChatToolBar')[0].append(div_setting);
window.clearInterval( check_mountPoint_settingIcon );
bool_settingReady = true;
}
}, 1000);
}
initView_setting();
(function(){
// 自动发弹幕自动化设置生效
var interval_setting_barrage_TakeEffect = setInterval(function(){
if( bool_settingReady && bool_barrageReady ){
let auto_send = false;
document.getElementById('input-auto-sendBarrage-speed').value = h2p_DYScript_setting.speed;
if( h2p_DYScript_setting.defaultBarrage ){
document.getElementById('input-isDefaultBarrage').checked = true;
document.getElementById('input-auto-defaultBarrage').checked = true;
console.log('启动:自动发送默认弹幕');
auto_send = true;
}
if( h2p_DYScript_setting.loopBarrage ){
document.getElementById('input-isLoopBarrage').checked = true;
document.getElementById('input-sendBarrage-content').value = h2p_DYScript_setting.loopBarrageContext;
document.getElementById('input-auto-loopBarrage').checked = true;
console.log('启动:自动发送循环弹幕');
auto_send = true;
}
if( h2p_DYScript_setting.luckDrawBarrage ){
document.getElementById('input-isLuckDrawBarrage').checked = true;
document.getElementById('input-auto-luckDrawBarrage').checked = true;
console.log('启动:自动发送抽奖弹幕');
auto_send = true;
}
if( auto_send ){
document.getElementById('btn-send').click();
}
window.clearInterval(interval_setting_barrage_TakeEffect);
}
}, 500);
// 清爽模式自动化设置生效
var interval_setting_clear_TakeEffect = setInterval(function(){
if( bool_settingReady && bool_clearReady ){
if( h2p_DYScript_setting.hidePart ){
document.getElementById('btn-hide-part').click();
document.getElementById('input-auto-hidePart').checked = true;
console.log('启动:自动隐藏部分');
}
else if( h2p_DYScript_setting.hideAll ){
document.getElementById('btn-hide-all').click();
document.getElementById('input-auto-hideAll').checked = true;
console.log('启动:自动隐藏全部');
}
window.clearInterval(interval_setting_clear_TakeEffect);
}
}, 500);
// 领取鱼丸自动化设置生效
var interval_setting_receiveFishBall_TakeEffect = setInterval(function(){
if( bool_settingReady && h2p_DYScript_setting.receiveFishBall ){
autoReceiveFishBall();
document.getElementById('input-auto-receiveFishBall').checked = true;
console.log('启动:自动领取观看鱼丸');
window.clearInterval(interval_setting_receiveFishBall_TakeEffect);
}
}, 500);
})();
})();