您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
This script can be used on Mixify.com while streaming your DJ set. The main reason why I created this script is that I couldn't see every single person who enters the stream so I thought it could be nice if script can annonce in chat who entered the stream with a warm welcome message.
当前为
// ==UserScript== // @name Fic's Mixify Auto Welcome Script // @namespace Booth // @include http://www.mixify.com/*/live/* // @version 1.3 // @grant none // @description This script can be used on Mixify.com while streaming your DJ set. The main reason why I created this script is that I couldn't see every single person who enters the stream so I thought it could be nice if script can annonce in chat who entered the stream with a warm welcome message. // ==/UserScript== var session = []; /* List of all users that entered the stream */ var DJ = $("#marqueeTitle")[0].innerHTML.replace('</h1>', '').replace('<h1>', '').trim(); /*Currnt DJ name*/ var me = $("ul#userDropDown li:eq(2) a").text().trim(); /* Your name on Mixify */ var msgList = ["Welcome ", "Ez ", "Yo ", "Greetings ", "Sup ", "Hey ", "Hi ", "Whazzup ", "Hello"]; /* List of greetings */ var msg; /* If you are on your own stream script is running */ if (me === DJ) { var url = "http://www.mixify.com/room/spectators/cache/1/?"; var dataString = $("#specatorsDockItem").attr("data-querystring"); /* Getting url to call AJAX */ url = url + dataString; if (localStorage.getItem("active") === null) { /* Was this stream refreshed? */ localStorage.setItem("active", true); /* You entered the stream for the first time */ session.push(DJ); /* Ignore DJ while sending welcome msg */ } else { FillUsersAfterRefresh(); /* You refreshed the stream, ignore current guests in the room */ } setInterval( /* Calling AJAX that is called my hovering mouse over attendees icon */ function () { jQuery.ajaxSetup({ async: false }); /* Getting data via AJAX */ var data = jQuery.get(url); var toObject = $(data.responseText); /* Converting string to object */ var users = $(toObject).find(".username"); /* Getting all guests on stream */ for (i = 0; i < users.length; i++) { if (users[i].getAttribute("target") !== null && users[i].innerHTML != "Guest" && jQuery.inArray(users[i].innerHTML.trim(), session) === -1) { /* Ignore duplicates and guests */ console.log("New guest is: " + users[i].innerHTML); msg = msgList[Math.floor(Math.random() * msgList.length)]; /* Set random msg from msgList */ $("#chat_input").val(msg + users[i].innerHTML.trim() + "!"); /* Post welcome msg in chat */ $('#chat_input').focus().trigger(jQuery.Event('keydown', { keyCode: 13 })); session.push(users[i].innerHTML.trim()); /* Mark user as the one that already visited the stream */ } } }, 5000); /* Check for new guests every 5 seconds (Change 5000 ms to any other value you want) */ } function FillUsersAfterRefresh() { jQuery.ajaxSetup({ async: false }); var data = jQuery.get(url); var toObject = $(data.responseText); var users = $(toObject).find(".username"); for (i = 0; i < users.length; i++) { if (users[i].getAttribute("target") !== null && users[i].innerHTML != "Guest") session.push(users[i].innerHTML.trim()); } }