Greasy Fork is available in English.

189自动广告

偷偷给我狐打个广告岂不美哉_(¦3」∠)_

2018-01-13 يوللانغان نەشرى. ئەڭ يېڭى نەشرىنى كۆرۈش.

// ==UserScript==
// @name         189自动广告
// @namespace    Cutemon
// @version      1.40
// @description  偷偷给我狐打个广告岂不美哉_(¦3」∠)_
// @author       Cutemon
// @match        http://live.bilibili.com/h5/189/ad
// @require      http://static.hdslb.com/live-static/libs/jquery/jquery-1.11.3.min.js
// @grant        none
// ==/UserScript==

(function() {
    var i = 0;
    var intervalTime = 20;
	var color = 16777215;
	var html = (function() {/*
				<!DOCTYPE html>
				<html>
					<head>
						<meta charset="UTF-8">
						<title></title>
						<style type="text/css">
							.color {
								display: inline-block;
								vertical-align: middle;
								cursor: pointer;
								box-sizing: border-box-box;
								border: 1px solid #d0d7dd;
								border-radius: 50%;
								width: 20px;
								height: 20px;
							}
							div {
								margin: 20px 0 0 20px;
							}	
						</style>
					</head>
					<body>
						<div>
							发送间隔:<input style="width: 50px;" type="number" id="intervalTime" value="20"> 秒 <input type="button" id="button" value="更改" /><span id="setTime" style="color: #EB3941; margin-left: 10px;">默认发送间隔为20秒</span><br /><br />
						</div>
						
						<div>
							弹幕颜色:
							<span class="color white" color="16777215" style="background-color: rgb(255, 255, 255);"></span>
							<span class="color red" color="16738408" style="background-color: rgb(255, 104, 104);"></span>
							<span class="color blue" color="6737151" style="background-color: rgb(102, 204, 255);"></span>
							<span class="color purple" color="14893055" style="background-color: rgb(227, 63, 255);"></span>
							<span class="color cyan" color="65532" style="background-color: rgb(0, 255, 252);"></span>
							<span class="color green" color="8322816" style="background-color: rgb(126, 266, 0);"></span>
							<span class="color yellow" color="16772431" style="background-color: rgb(255, 237, 79);"></span>
							<span class="color orange" color="16750592" style="background-color: rgb(255, 152, 0);"></span>
							<span class="color pink" color="16741274" style="background-color: rgb(255, 115, 154);"></span>
							<span id="setColor" style="color: #EB3941; margin-left: 10px;">默认弹幕颜色为 <span class="color" style="background-color: rgb(255, 255, 255);"></span></span><br /><br />
						</div>
						<div>
							<button id="start">弹幕开启</button> 
							<button id="clear">发送终止</button>
							<span id="switch"></span>
						</div>
					</body>
				
				</html>
				*/}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1];
	
	$('body').html(html);
    function clock() {
        // 定义广告语数组,可自行修改,双引号和逗号别动
        var danmu = [
            "喜欢狐妖的新人宝宝们可以点一波关注呦~(。•ω•。)",
            "关注了的狐宝每周六下午三点可以参加抽奖~大家不要忘记!",
            "想成为狐妖家的小狐宝吗,一个B克拉,狐宝勋章带回家~",
            "喜欢狐妖的话欢迎加群哦~群号屏幕上方和简介里都有!",
            "加群不仅可以接到直播通知,还可以和狐妖聊天哦~",
            "微博@爱吃橘子的狐妖,有想推荐给狐妖的歌评论在置顶微博噢~",
            "想让你的勋章变得与众不同吗,加入友爱社①狐宝风暴 ②狐妖神教",
            "新人请看下方简介,能了解UP主信息及避免违规被禁哦",
            "简介在网页最下方,手机端、PAD端点房间标题查看",
            "上船的大佬们在有效期内可以承包一首专属歌曲,逢点必唱",
            "一直没点到歌的狐宝试试投喂宝点歌?",
            "招募剪辑师画师各种师【可有偿】,只要你有技能,欢迎私戳房管哦",
            "左边淡粉字是已唱歌单哦,唱过的歌就不要再点了~",
        ],
            // 获取时间戳
            now = new Date(),
            timestamp = now.getTime();
        // 定义弹幕发送
        $.ajax({
            type: "POST",
            url: "//live.bilibili.com/msg/send",
            data: {
            	// 字体颜色:默认白色:16777215 | 姥爷红:16738408 | 姥爷蓝:6737151 | 青色:65532 | 绿色:8322816 | 黄色:16772431 | 橙色:16750592
                color: color,
                fontsize: 25,
                mode: 1,
                msg: danmu[i],
                rnd: timestamp,
                roomid: 70270
            },
            success: function(){
            	if(i === 0){
            		$("p").remove();
            	}
            	var danmuok = $("<p></p>").html('<span style="color: #00BE00; margin-left: 10px;">【发送成功】</span>' + danmu[i]); // 以 jQuery 创建新元素
            	$("body").append(danmuok); // 追加新元素
            	i == danmu.length - 1 ? i = 0 : i++;
            },
            error: function(){
            	if(i === 0){
            		$("p").remove();
            	}
            	var danmufail = $("<p></p>").html('<span style="color: #EB3941; margin-left: 10px;">【发送失败】</span>' + danmu[i]); // 以 jQuery 创建新元素
            	$("body").append(danmufail); // 追加新元素
            	i == danmu.length - 1 ? i = 0 : i++;
            },
        });
    }

    // 定义定时器以及开关函数
    var send = 0;
    var sendStart = 0;

    function start() {
    	clearInterval(send); // 消除定时器的叠加
        send = setInterval(clock, intervalTime * 1e3); // 自动发送间隔,1秒=1000,默认20秒,可自行修改
        sendStart = 1;
        $('#switch').html('<span style="color: #00BE00; margin-left: 10px;">弹幕发射已启用_(¦3」∠)_</span>');
    }

    function clear() {
        clearInterval(send);
        i = 0;
        sendStart = 0;
        $('#switch').html('<span style="color: #EB3941; margin-left: 10px;">弹幕发射已关闭_(¦3」∠)_</span>');
    }
    
    // 设定发送间隔和弹幕颜色
    function set_time() {
    	intervalTime = document.getElementById('intervalTime').value;
    	$('#setTime').html('<span style="color: #00BE00;">发射间隔已设置为' + intervalTime + '秒</span>');
    	if(sendStart == 1){
    		start();
    	}
    }
    
    function set_color(e) {
    	color = $(this).attr('color');
    	//			console.log($(this)[0].outerHTML);
    	$('#setColor').html('<span style="color: #00BE00;">弹幕颜色已设置为 ' + $(this)[0].outerHTML + ' ,如果你没有该颜色的弹幕,弹幕颜色会被设为默认白色</span>');
    }

    $('#start').click(start);
    $('#clear').click(clear);
    $('#button').click(set_time);
    $('.color').click(set_color);
})();