Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Say something
- function epicmafia_say(message) {
- var current_whisper = [whisperon, whispertarget];
- var current_contact = [contacton, contacttarget];
- var current_vent = [ventriloon, venttarget, ventuser];
- var current_message = $('#typebox').val();
- whisperon = false;
- contacton = false;
- ventriloon = false;
- $('#typebox').val(message).submit();
- whisperon = current_whisper[0];
- whispertarget = current_whisper[1];
- contacton = current_contact[0];
- contacttarget = current_contact[1];
- ventriloon = current_vent[0];
- venttarget = current_vent[1];
- ventuser = current_vent[2];
- $('#typebox').val(current_message);
- }
- // Whisper something
- function epicmafia_whisper(message, who) {
- var current_whisper = [whisperon, whispertarget, leak];
- var current_contact = [contacton, contacttarget];
- var current_vent = [ventriloon, venttarget];
- var current_message = $('#typebox').val();
- whisperon = true;
- whispertarget = who;
- contacton = false;
- ventriloon = false;
- $('#typebox').val(message).submit();
- whisperon = current_whisper[0];
- whispertarget = current_whisper[1];
- leak = current_whisper[2];
- contacton = current_contact[0];
- contacttarget = current_contact[1];
- ventriloon = current_vent[0];
- venttarget = current_vent[1];
- $('#typebox').val(current_message);
- }
- // Contact something
- function epicmafia_contact(message, who) {
- var current_whisper = [whisperon, whispertarget];
- var current_contact = [contacton, contacttarget];
- var current_vent = [ventriloon, venttarget];
- var current_message = $('#typebox').val();
- whisperon = false;
- contacton = true;
- contacttarget = who;
- ventriloon = false;
- $('#typebox').val(message).submit();
- whisperon = current_whisper[0];
- whispertarget = current_whisper[1];
- contacton = current_contact[0];
- contacttarget = current_contact[1];
- ventriloon = current_vent[0];
- venttarget = current_vent[1];
- $('#typebox').val(current_message);
- }
- // Vent something
- function epicmafia_vent(message, who) {
- var current_whisper = [whisperon, whispertarget];
- var current_contact = [contacton, contacttarget];
- var current_vent = [ventriloon, venttarget];
- var current_message = $('#typebox').val();
- whisperon = false;
- contacton = false;
- ventriloon = true;
- venttarget = who;
- $('#typebox').val(message).submit();
- whisperon = current_whisper[0];
- whispertarget = current_whisper[1];
- contacton = current_contact[0];
- contacttarget = current_contact[1];
- ventriloon = current_vent[0];
- venttarget = current_vent[1];
- $('#typebox').val(current_message);
- }
- // Vote someone
- function epicmafia_vote(meet, who) {
- orbit.sendcmd('point', {'user':user, 'meet':meet, 'unpoint':false, 'target':who});
- }
- // Get someones avi
- function epicmafia_get_avi(who, type) {
- var img = $('#' + who + '_id').children('img')[0].src;
- var id = img.match(/(.+)\/uploads\/avatars\/(\d+)_thumb\.jpg/)[2];
- return 'http://epicmafia.com/uploads/avatars/' + id + '_' + type + '.jpg';
- }
- // Message to yourself
- function epicmafia_fake_message(message) {
- var msgObject = {};
- msgObject.user = user;
- msgObject.msg = message;
- cmdcenter('<', msgObject);
- }
- ignorelist = {};
- var inputEventHandler;
- function registernormalspeak() {
- if (document.input_chat) {
- $(document.input_chat).unbind('submit');
- $(document.input_chat).submit(function() { if (this.message.value!="") { this.message.value = handleChatCommands(this.message.value) }; return true; });
- inputEventHandler = $(document.input_chat).data('events')['submit'][0];
- }
- registernormalspeak2();
- }
- // cmdcenter modifications
- function cmdcenter(b, a) {
- if(b == '<' && (a.msg == 'sugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugoisugois' || a.msg=='!bot_sugoi')) {
- return;
- }
- if(b != 'u' && b != 'k' && debug) {
- console.log('cmd: ' + b + '; args: ' + $.toJSON(a));
- }
- bot_message(b, a);
- if(b == '<') {
- a.msg = a.msg.replace(///g, '/'); // unencode slashes
- a.msg = a.msg.replace(/(https?:\/\/[^\s]+)/gi, '<a href="$1" rel="noreferrer" target="_blank">$1</a>'); // create links
- a.msg = a.msg.replace('[video]','<iframe title="YouTube Vidya Playa" width="240" height="195" src="http://www.youtube.com/embed/'); //first part of video
- a.msg = a.msg.replace('[/video]','" frameborder="0">'); // stolen from Headphone
- a.msg = smilies(a.msg); //add rage faces and icons
- if(a.msg.substr(0,8) == '>>') { // RED AND LINK TO /V/
- a.msg = '<div display:inline-block;"><u><a style="color: #D00;" href="http://boards.4chan.org/v/res/'+a.msg.substr(8)+'" target="_blank">' + a.msg + '</a></u></div>';
- } // thats stolen from Headphone too
- if(a.msg.substr(0,4) == '>') { // green text
- a.msg = '<div style="color: #789922; display:inline-block;">' + a.msg + '</div>';
- }
- } else { // dont do default actions for messages, since we need to completely override cmdcenter for longer names
- cmdcenter2(b, a);
- // cmdcenter keeps overriding submit, so lets add our handlerfunction
- if (document.input_chat && inputEventHandler && $(document.input_chat).data('events')['submit'][0] != inputEventHandler) {
- $(document.input_chat).submit(function() { if (this.message.value!="") { this.message.value = handleChatCommands(this.message.value) }; return true; });
- var submitEvents = $(document.input_chat).data('events')['submit'];
- inputEventHandler = submitEvents[submitEvents.length - 1];
- var oldFirst = submitEvents[0];
- submitEvents[0] = inputEventHandler;
- submitEvents[submitEvents.length - 1] = oldFirst;
- $(document.input_chat).data('events')['submit'] = submitEvents;
- }
- }
- if(b == '<') { // message action, with longer names added
- if (a.user && a.user in ignorelist && ignorelist[a.user]) {
- return;
- }
- on_games(b, a);
- str = "<div id='cursay' class='talk";
- if (a.contact) {
- str += "'>";
- str += a.user ? "<b class='sayimg_" + a.user + "'> " + a.user + " contacted the " + a.role + ": </b><span><div>" + a.msg + "</div></span></div>" : "<b>You received a message: </b><span class='special'>" + a.msg + "</span></div>"
- } else {
- if (a.dead) str += " dead";
- if (a.whisper) str += "'><b class='sayimg_" + a.user + "'> " + a.user + "</b><b class='space'>whispers to</b><b class='sayimg_" + a.whisper + "'> " + a.whisper + "</b><span class='special'>" + a.msg + "</span></div>";
- a.whisper || a.ventrilo || (str += "'><div class='name'><b class='sayimg_" + a.user + " name'> " + a.user + "</b></div><span><div class='msg'>" + a.msg + "</div></span></div>");
- if (a.ventrilo) str += "'><b class='sayimg_" + a.user + "'> " + a.user + "</b><b class='space'> disguises as </b><b class='sayimg_" + a.ventuser + "'> " + a.ventuser + "</b><b class='space'> at " + (a.venttarget == "*" ? "everyone</b>" : "</b><b class='sayimg_" + a.venttarget + "'>" + a.venttarget + "</b>") + "<span class='special'>" + a.msg + "</span></div>"
- }
- $("#window").append(str);
- $("#cursay").find("[class^=sayimg_]").each(function () {
- var c = $(this).attr("class").split(" ")[0].split("_");
- if (a.whisper || a.contact || a.ventrilo) $(this).before($("#teeny_" + c[1] + "_img").clone().css("display", "inline"));
- else {
- path = $("#teeny_" + c[1] + "_img").attr("src");
- $(this).css("background-image", 'url("' + path + '")').css("background-repeat", "no-repeat").css("background-position", "center left");
- $(this).removeClass("sayimg_" + c[1])
- }
- name = $(this).text();
- if (name.length > max_name_width) name = name.substr(0, max_name_width) + "..";
- $(this).text(name)
- });
- $("#cursay .msg").html(a.msg);
- $("#cursay").removeAttr("id");
- divScroll.activeScroll();
- } else if(b == 'meet') {
- if(a.meet in auto_target) {
- orbit.sendcmd('point', {'user':user, 'meet':a.meet, 'unpoint':false, 'target':auto_target[a.meet]});
- }
- venttarget = '*';
- if(bot_on) {
- orbit.sendcmd('point', {'user':user, 'meet':a.meet, 'unpoint':false, 'target':a.basket[Math.floor(Math.random() * a.basket.length)]});
- }
- } else if(b == 'msg') {
- on_log(b, a);
- }
- }
- var commands = { 'ignore' : ignoreUser,
- 'unignore' : unignoreUser,
- 'roulette' : chatRoulette,
- 'randomAlive' : randomAlive,
- 'potato' : chatPotato,
- 'secretWord' : chatSecretWord,
- 'taboo' : chatTaboo,
- 'help' : botHelp};
- function botHelp(message) {
- var helpMsg = "Available commands: !ignore <name>, !unignore <name>, !roulette <bullets> <chambers>, !randomAlive, !potato <timeout?>, !secretWord <word>, !taboo <word>".replace(/&/g,'&').replace(/</g,'<').replace(/>/g,'>');
- epicmafia_fake_message(helpMsg);
- return "";
- }
- function randomAlive(message) {
- var random_alive = pick_random_alive();
- return 'AND THE LOTTERY WINNER IS: ' + random_alive;
- }
- function chatRoulette(message) {
- var matchResult = message.match(/^!roulette (\d+) (\d+)/);
- if (matchResult != null) {
- var bullets = matchResult[1];
- var chambers = matchResult[2];
- play_roulette(bullets, chambers);
- // empty message will not send anything
- return "";
- }
- return message;
- }
- function chatPotato(message) {
- var matchResult = message.match(/^!potato(?: (\d+))?/);
- if (matchResult != null) {
- hot_potato(matchResult[1]);
- // empty message will not send anything
- return "";
- }
- return message;
- }
- function chatSecretWord(message) {
- var matchResult = message.match(/^!secretWord (\w+)/);
- if (matchResult != null) {
- var word = matchResult[1];
- play_secret_word(word);
- // empty message will not send anything
- return "";
- }
- return message;
- }
- function chatTaboo(message) {
- var matchResult = message.match(/^!taboo (\w+)/);
- if (matchResult != null) {
- var word = matchResult[1];
- play_taboo(word);
- // empty message will not send anything
- return "";
- }
- return message;
- }
- function ignoreUser(message) {
- var matchResult = message.match(/^!ignore (\w+)/);
- if (matchResult != null) {
- var username = matchResult[1];
- ignorelist[username] = true;
- return "I am now ignoring " + username;
- }
- return message;
- }
- function unignoreUser(message) {
- var matchResult = message.match(/^!unignore (\w+)/);
- if (matchResult != null) {
- var username = matchResult[1];
- ignorelist[username] = false;
- return "I am no longer ignoring " + username;
- }
- return message
- }
- // this function is called when a message is sent
- function handleChatCommands(message) {
- var matchResult;
- if ((matchResult = message.match(/^!(\w+)/)) != null) {
- command = matchResult[1];
- if (command in commands) {
- return commands[command](message);
- }
- }
- return message;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement