Fic's Mixify Auto Welcome Script

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.

Verzia zo dňa 21.08.2015. Pozri najnovšiu verziu.

// ==UserScript==
// @name        Fic's Mixify Auto Welcome Script
// @namespace   Booth
// @include     http://www.mixify.com/*/live/*
// @version     1.2
// @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 url = "http://www.mixify.com/room/spectators/cache/1/?";            
var dataString = $("#specatorsDockItem").attr("data-querystring");      /* Getting url to call AJAX */
url = url + dataString;                                                 

/* If you are on your own stream script is running */
if (me === DJ) {
    session.push(DJ);   /* Ignore DJ while sending welcome msg */
    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);
                $("#chat_input").val("Welcome " + 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) */
}