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.

// JavaScript source code
// ==UserScript==
// @name        Fic's Mixify Auto Welcome Script
// @namespace   Booth
// @include     http://www.mixify.com/*/live/*
// @version     1.7.4
// @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 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;    /* Random generated msg for new guest */
var users = [];	/* List of guests in the room */
var session = [];  /* List of all users that entered the stream in one session */

/* 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 (sessionStorage.getItem("active") === null) {  /* Was this stream refreshed? */
        sessionStorage.setItem("active", true);   /* You entered the stream for the first time */
        session.push(DJ);   /* Ignore DJ while sending welcome msg */

    } else {
        FillGuestList();    /* Getting the guest list */
        for (i = 0; i < users.length; i++) {                                                    /* --------------------------------------- */
            if (users[i].getAttribute("target") !== null && users[i].innerHTML != "Guest")      /* Ignore guests that are already in room */
                session.push(users[i].innerHTML.trim());                                        /* --------------------------------------- */
        }
    }

    setInterval(   /* Calling AJAX  that is called my hovering mouse over attendees icon */
    function () {

        FillGuestList();    /* Getting the guest list */

        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 */
                fc().fc_sendChat(msg + users[i].innerHTML.trim() + "!", dataString.split("=")[1]); /* Sends msg to chat */

                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 FillGuestList() {
    jQuery.ajaxSetup({ async: false });
    var data = jQuery.get(url);
    var toObject = $(data.responseText);
    users = $(toObject).find(".username");
}