View difference between Paste ID: XNXrmiZ4 and bLN9XiF6
SHOW: | | - or go back to the newest paste.
1
var waitTime = 1; // In seconds
2
var group = 0; // 0 for no group check, otherwise people in this group will not receive the message
3
function sendMsg(userId, username) {
4
    function send() {
5
        $.post('//www.roblox.com/messages/send',{
6
            subject: "Your message subject here...",
7
            body: "Your message here!",
8
            recipientid: userId,
9
            cacheBuster: new Date().getTime()
10
        }).done(function(response) {
11
            if (response.success == true) {
12
                console.log('Sent message to ' + username + ' (' + userId + ')');
13
            } else {
14
                console.log('Error sending to ' + username + ': ' + response.shortMessage);
15
            }
16
        });
17
    }
18
    if (group > 0) {
19
        $.get('//www.roblox.com/Game/LuaWebService/HandleSocialRequest.ashx?method=IsInGroup&playerid=' + userId + '&groupid=' + group, function(response) {
20
            if(response.indexOf('true') == -1) {
21
                send();
22
            } else {
23
                console.log('Didn\'t send a message to ' + username + ' because he is already in group ' + group + '.');
24
            }
25
        });
26
    } else {
27
        send();
28
    }
29
}
30
 
31
function run() {
32
    var timeout = 0;
33
    var elements = document.evaluate('//div[contains(@id,\'ctl00_cphRoblox_rbxGroupRoleSetMembersPane_GroupMembersUpdatePanel\')]//div[contains(@class,\'GroupMember\')]//span[contains(@class,\'Name\')]/a',document,null,XPathResult.UNORDERED_NODE_ITERATOR_TYPE,null);
34
    var currentNode = elements.iterateNext();
35
    while (currentNode) {
36
        (function(time,id,name) {
37
            setTimeout(sendMsg,time,id,name);
38
        })(timeout,currentNode.href.match(/\d+/)[0],currentNode.textContent);
39
        timeout+=waitTime*1000;
40
        currentNode = elements.iterateNext();
41
    }
42
    __doPostBack('ctl00$cphRoblox$rbxGroupRoleSetMembersPane$dlUsers_Footer$ctl02$ctl00','');
43
    var ready = setInterval(function() {
44
        if (document.getElementById('__EVENTTARGET').value == '') {
45
            clearInterval(ready);
46
            setTimeout(run,timeout);
47
        }
48
    }, 10);
49
}
50
var ready = setInterval(function() {
51
    if (document.readyState === 'complete') {
52
        clearInterval(ready);
53
        run();
54
    }
55
}, 10);