Hey I was wondering how to add websites like urban dictionary and other stuff into a bot. Adding websites meaning interact with it like the urban dictionary, I would type a command and the word I want to define and it'll give me the definition in my channel from urban dictionary without taking me to its website.
Here's the client script I use for printing defines from Urban Dictionary in the channel. Main Link: http://pastebin.com/mu38B52F Raw Link: http://pastebin.com/raw.php?i=mu38B52F Copy and paste the code into the Script Window plug-in in the client tab. Have Safe Scripts disabled and Show Warnings enabled. When ya click OK, the instructions will print in the current channel. Code was given to me by jinora and edited by me (Nightfall Alicorn). I've set it so it doesn't work in main Pokemon Online channels. Also if you wanna modify it, the code maybe a little messy so you know. I don't know how coders actually get the code to be honest. I just modified it with improvements. Please note that the defines are written by people online that post them on the Urban Dictionary site. The code just obtains the accepted defines on their site and prints them in channel, so I don't take responsibility what are written in the defines.
Thank You but I am experiencing difficulties. (21:52:54) ±Client Bot: Scripts updated. (21:52:54) ±Client Bot: Commands: (21:52:54) ±Client Bot: // -setbot [off/on] (21:52:54) ±Client Bot: // -define [word]:[selection number] (21:52:54) [OG]Vida: -define hi (21:53:10) ±Client Bot: Scripts updated. (21:53:10) ±Client Bot: Commands: (21:53:10) ±Client Bot: // -setbot [off/on] (21:53:10) ±Client Bot: // -define [word]:[selection number] (21:53:10) [OG]Vida: -setbot on (21:53:14) ±Client Bot: Scripts updated. (21:53:14) ±Client Bot: Commands: (21:53:14) ±Client Bot: // -setbot [off/on] (21:53:14) ±Client Bot: // -define [word]:[selection number] (21:53:14) [OG]Vida: d (21:53:15) ±Client Bot: Scripts updated. (21:53:15) ±Client Bot: Commands: (21:53:15) ±Client Bot: // -setbot [off/on] (21:53:15) ±Client Bot: // -define [word]:[selection number] (21:53:15) [OG]Vida: d
// GLOBAL VARIABLES // ******** ******** ******** var vBotSwitch = true; ({ beforeChannelMessage: function(message, channel, html) { // #### #### #### #### #### // MY ADD SCRIPT - AUTO RESPOND MESSAGE // #### #### #### #### #### // VARIABLES // ******** ******** ******** var vMessage = message; var vChannel = client.channelName(channel); var vMyName = client.ownName(); var vUserSent = vMessage.substring(0, vMessage.indexOf(':')); var ownName = client.ownName(); var vgBotName = "±Client Bot: "; var vgCommandSymbol = "-"; var vgAutoRespond = true; var vgBlockedChannel = ["Blackjack","Hangman","Mafia","Tohjo Falls","Tournaments","Trivia"]; ChannelUserID = client.channel(channel).players(); ChannelUserName = []; for (var x = 0; x < ChannelUserID.length; x++) { ChannelUserName[x] = client.name(ChannelUserID[x]); } var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)]; // EXTRACT MESSAGE BY TAKING OUT THE NAME if (vMessage.indexOf(':') >= 0) {vMessage = vMessage.substr(vMessage.indexOf(':') + 2);} // SET THE MESSAGE TEXT TO LOWERCASE vMessage = vMessage.toLowerCase(); // CHANNELS ALLOWED FOR BOTS // ******** ******** ******** var vBotChannelAllow = ["Alicorn Sandbox", "[OG]"]; // CHECK CHANNELS ALLOWED if (vBotChannelAllow.indexOf(vChannel) !== -1){ // CHECK IF BOT IS ON FOR OTHERS OR IF YA SENT BOT TRIGGER if ( (vBotSwitch == true) || (vMyName == vUserSent) ){ // RESPOND: My Name if (vMessage == vMyName.toLowerCase()){ client.network().sendChanMessage(channel, "Respond to your name message here."); } // RESPOND TO: Hi, Hello, Hola, Sup, Suplo, Yo, Hey if (["hi", "hello", "hola", "sup", "yo", "hey"].indexOf(vMessage) !== -1){ var vName = "±[OG] Greeter: "; var vMsg = []; vMsg[0] = "Hello!"; vMsg[1] = " Go"; vMsg[2] = " Sup"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Shoot if (["shoot"].indexOf(vMessage) !== -1){ var vName = "±RPSS : "; var vMsg = []; vMsg[0] = vUserSent + " uses rock!"; vMsg[1] = vUserSent + " uses paper!"; vMsg[2] = vUserSent + " uses scissor!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Flip if (["flip"].indexOf(vMessage) !== -1){ var vName = "±Random: "; var vMsg = []; vMsg[0] = vUserSent + " flipped a coin at it landed on heads!"; vMsg[1] = vUserSent + " flipped a coin and it landed on tails!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } } if (vMessage == "hug"){ var vName = "±Hug Specialist: "; client.network().sendChanMessage(channel, vName + vUserSent + " hugs " + randomName + " tightly with love and care! "); } } // DEFINE CACHED MEMORY var vgBot_Define_Word; var vgBot_Define_Data; print(vgBotName + "Scripts updated."); print(vgBotName + "Commands:"); print(vgBotName + "// -setbot [off/on]"); print(vgBotName + "// -define [word]:[selection number]"); var poScript; poScript = ({ beforeChannelMessage: function (message, channel, html) { // VARIABLES // ******** ******** ******** var vMyName = client.ownName(); var vUserSentName = message.substring(0, message.indexOf(':')); var vUserSentMessage = message.substr(message.indexOf(':') + 2).toLowerCase(); var vChannelName = client.channelName(channel); // COMMAND + COMMAND DATA SETUP // ******** ******** ******** if (vgCommandSymbol == vUserSentMessage.charAt(0)) { // print("command symbol detected"); var vCommand, vCommandData; var vSplit = vUserSentMessage.indexOf(' '); if (vSplit !== -1) { vCommand = vUserSentMessage.substring(1, vSplit).toLowerCase(); vCommandData = vUserSentMessage.substr(vSplit + 1); } else { vCommand = vUserSentMessage.substr(1).toLowerCase(); } } // BOT OWNER COMMANDS // ******** ******** ******** if (vMyName == vUserSentName) { // AUTO RESPOND SWITCH // ******** ******** ******** if (vCommand == "setbot") { if (vCommandData == "on") { vgAutoRespond = true; client.network().sendChanMessage(channel, vgBotName + "Auto Messages enabled."); } if (vCommandData == "off") { vgAutoRespond = false; client.network().sendChanMessage(channel, vgBotName + "Auto Messages disabled."); } } } // DEFINE (CODE PROVIDED BY JINORA + EDITED BY NIGHTFALL ALICORN) // ******** ******** ******** if (vgAutoRespond == true) { if (vgBlockedChannel.indexOf(vChannelName) == -1) { if (vCommand == "define") { // CHECK FOR SECONDARY COMMAND DATA if (vCommandData.indexOf(":") !== -1) { // SPLIT var vData = vCommandData.split(":",2); var vDefineWord = vData[0]; var vDefineSelection = vData[1]; // MAKE SURE vDefineSelection IS AN INTEGER AND FLOOR vDefineSelection = Math.floor(parseInt(vDefineSelection)); if (vDefineSelection == parseInt(vDefineSelection)) { // DO NOTHING } else { vDefineSelection = 0; } } else { var vDefineWord = vCommandData; var vDefineSelection = 0; } var vDefStatus = ""; // IF WORD IS STORED IN CACHED READ CURRENTLY DOWNLOAD ONE if (vgBot_Define_Word == vDefineWord) { vDefData = vgBot_Define_Data; vDefStatus = "(Cached)"; } // IF WORD NOT CURRENTLY STORED IN CACHED DOWNLOAD IT if (vgBot_Define_Word != vDefineWord) { // GET RESULT FROM URBAN DICTIONARY AND STORE DATA var vResponse = sys.synchronousWebCall("http://api.urbandictionary.com/v0/define?term=" + (encodeURIComponent(vDefineWord))); var vDefData = JSON.parse(vResponse); vgBot_Define_Word = vDefineWord; vgBot_Define_Data = vDefData; vDefStatus = "(Downloading...)"; } // CHECK IF DEFINITION DOESNT EXIST if (vDefData.result_type != "exact") { client.network().sendChanMessage(channel, vgBotName + "\"" + vDefineWord.toLowerCase() + "\"" + " is not defined!") } // IF IT DOES EXIST else { // BUILD AND COUNT DEFINITIONS AVAILABLE var vDefString = []; var vDefLength = -1; var vCheck = true; for (x=0; vCheck==true; x++){ try { vDefString[x] = vDefData.list[x].definition; vDefLength++; } catch (err) { vCheck = false; } } // DEFINE SELECTION RANGE CHECK if (vDefineSelection > vDefLength) { vDefineSelection = vDefLength; } if (vDefineSelection < 0) { vDefineSelection = 0; } // OBTAIN STRING TO ALLOW LENGTH CHECK var vStringLimit = 4900; // String Limit is 4900 var vStringToPrint = vDefString[vDefineSelection]; // MESSAGE FORMAT var vDefMessageWord = "\"" + vDefineWord.toLowerCase() + "\""; var vDefMessageInfo = vStringToPrint; var vDefMessageSelection = "(" + vDefineSelection + "/" + vDefLength + ")" var vDefMessageLimitReached = "[String Limit of " + vStringLimit + " Reached]"; // BANNED WORDS var vDefBanned = [ ]; // CHECK BANNED WORD if (vDefBanned.indexOf(vDefineWord) == -1) { // STRING LIMIT CHECK if (vStringToPrint.length <= vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo); } if (vStringToPrint.length > vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo.substring(0, vStringLimit) + " " + vDefMessageLimitReached); } } else { client.network().sendChanMessage(channel, vgBotName + "The define for this word is banned."); } } } } } } }); // SWITCHES if ( (vMyName == vUserSent) && (vMessage == "turn up") ){ vBotSwitch = true; client.network().sendChanMessage(channel, "±Bot: Bots turned on."); } if ( (vMyName == vUserSent) && (vMessage == "turn down") ){ vBotSwitch = false; client.network().sendChanMessage(channel, "±Bot: Bots turned off."); } } // #### #### #### #### #### // END OF ADD SCRIPT // #### #### #### #### #### } })
It works alone but with my code it doesn't work. I am thinking on how to incorporate this into my code. Instead of it being 2 different scripts I want it combined with my code for a single script
The variables with vg at the start are global. It's a coding rule I started using not long ago. Since my overall script was getting huge and chances I could overwrite it without knowing. ("vg" for "variable global") Put these in the global section of code... var vgBotName = "±Client Bot: "; var vgCommandSymbol = "-"; var vgAutoRespond = true; var vgBlockedChannel = ["Blackjack","Hangman","Mafia","Tohjo Falls","Tournaments","Trivia"]; Also move these at the top too under the ones above... // DEFINE CACHED MEMORY var vgBot_Define_Word; var vgBot_Define_Data; print(vgBotName + "Scripts updated."); print(vgBotName + "Commands:"); print(vgBotName + "// -setbot [off/on]"); print(vgBotName + "// -define [word]:[selection number]"); vgAutoRespond and vBotSwitch are supposed to be the same thing by the way, you need to group a section of code in a if condition. if (vgBotOn ==true) { // all the commands that others can use here for example }
Sorry, I mean move those existing variables to the top of the code. Also with the prints. The if condition under it is an example of grouping code together.
// GLOBAL VARIABLES // ******** ******** ******** var vBotSwitch = true; var vgBotName = "±Client Bot: "; var vgCommandSymbol = "-"; var vgAutoRespond = true; var vgBlockedChannel = ["Blackjack","Hangman","Mafia","Tohjo Falls","Tournaments","Trivia"]; // DEFINE CACHED MEMORY var vgBot_Define_Word; var vgBot_Define_Data; print(vgBotName + "Scripts updated."); print(vgBotName + "Commands:"); print(vgBotName + "// -setbot [off/on]"); print(vgBotName + "// -define [word]:[selection number]"); if (vgBotOn ==true) { // all the commands that others can use here for example } var poScript; poScript = ({ beforeChannelMessage: function(message, channel, html) { // #### #### #### #### #### // MY ADD SCRIPT - AUTO RESPOND MESSAGE // #### #### #### #### #### // VARIABLES // ******** ******** ******** var vMessage = message; var vChannel = client.channelName(channel); var vMyName = client.ownName(); var vUserSent = vMessage.substring(0, vMessage.indexOf(':')); var ownName = client.ownName(); var vMyName = client.ownName(); var vUserSentName = message.substring(0, message.indexOf(':')); var vUserSentMessage = message.substr(message.indexOf(':') + 2).toLowerCase(); var vChannelName = client.channelName(channel); // COMMAND + COMMAND DATA SETUP // ******** ******** ******** if (vgCommandSymbol == vUserSentMessage.charAt(0)) { // print("command symbol detected"); var vCommand, vCommandData; var vSplit = vUserSentMessage.indexOf(' '); if (vSplit !== -1) { vCommand = vUserSentMessage.substring(1, vSplit).toLowerCase(); vCommandData = vUserSentMessage.substr(vSplit + 1); } else { vCommand = vUserSentMessage.substr(1).toLowerCase(); } } // BOT OWNER COMMANDS // ******** ******** ******** if (vMyName == vUserSentName) { // AUTO RESPOND SWITCH // ******** ******** ******** if (vCommand == "setbot") { if (vCommandData == "on") { vgAutoRespond = true; client.network().sendChanMessage(channel, vgBotName + "Auto Messages enabled."); } if (vCommandData == "off") { vgAutoRespond = false; client.network().sendChanMessage(channel, vgBotName + "Auto Messages disabled."); } } } // DEFINE (CODE PROVIDED BY JINORA + EDITED BY NIGHTFALL ALICORN) // ******** ******** ******** if (vgAutoRespond == true) { if (vgBlockedChannel.indexOf(vChannelName) == -1) { if (vCommand == "define") { // CHECK FOR SECONDARY COMMAND DATA if (vCommandData.indexOf(":") !== -1) { // SPLIT var vData = vCommandData.split(":",2); var vDefineWord = vData[0]; var vDefineSelection = vData[1]; // MAKE SURE vDefineSelection IS AN INTEGER AND FLOOR vDefineSelection = Math.floor(parseInt(vDefineSelection)); if (vDefineSelection == parseInt(vDefineSelection)) { // DO NOTHING } else { vDefineSelection = 0; } } else { var vDefineWord = vCommandData; var vDefineSelection = 0; } var vDefStatus = ""; // IF WORD IS STORED IN CACHED READ CURRENTLY DOWNLOAD ONE if (vgBot_Define_Word == vDefineWord) { vDefData = vgBot_Define_Data; vDefStatus = "(Cached)"; } // IF WORD NOT CURRENTLY STORED IN CACHED DOWNLOAD IT if (vgBot_Define_Word != vDefineWord) { // GET RESULT FROM URBAN DICTIONARY AND STORE DATA var vResponse = sys.synchronousWebCall("http://api.urbandictionary.com/v0/define?term=" + (encodeURIComponent(vDefineWord))); var vDefData = JSON.parse(vResponse); vgBot_Define_Word = vDefineWord; vgBot_Define_Data = vDefData; vDefStatus = "(Downloading...)"; } // CHECK IF DEFINITION DOESNT EXIST if (vDefData.result_type != "exact") { client.network().sendChanMessage(channel, vgBotName + "\"" + vDefineWord.toLowerCase() + "\"" + " is not defined!") } // IF IT DOES EXIST else { // BUILD AND COUNT DEFINITIONS AVAILABLE var vDefString = []; var vDefLength = -1; var vCheck = true; for (x=0; vCheck==true; x++){ try { vDefString[x] = vDefData.list[x].definition; vDefLength++; } catch (err) { vCheck = false; } } // DEFINE SELECTION RANGE CHECK if (vDefineSelection > vDefLength) { vDefineSelection = vDefLength; } if (vDefineSelection < 0) { vDefineSelection = 0; } // OBTAIN STRING TO ALLOW LENGTH CHECK var vStringLimit = 4900; // String Limit is 4900 var vStringToPrint = vDefString[vDefineSelection]; // MESSAGE FORMAT var vDefMessageWord = "\"" + vDefineWord.toLowerCase() + "\""; var vDefMessageInfo = vStringToPrint; var vDefMessageSelection = "(" + vDefineSelection + "/" + vDefLength + ")" var vDefMessageLimitReached = "[String Limit of " + vStringLimit + " Reached]"; // BANNED WORDS var vDefBanned = [ ]; // CHECK BANNED WORD if (vDefBanned.indexOf(vDefineWord) == -1) { // STRING LIMIT CHECK if (vStringToPrint.length <= vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo); } if (vStringToPrint.length > vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo.substring(0, vStringLimit) + " " + vDefMessageLimitReached); } } else { client.network().sendChanMessage(channel, vgBotName + "The define for this word is banned."); } } } } } } }); ChannelUserID = client.channel(channel).players(); ChannelUserName = []; for (var x = 0; x < ChannelUserID.length; x++) { ChannelUserName[x] = client.name(ChannelUserID[x]); } var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)]; // EXTRACT MESSAGE BY TAKING OUT THE NAME if (vMessage.indexOf(':') >= 0) {vMessage = vMessage.substr(vMessage.indexOf(':') + 2);} // SET THE MESSAGE TEXT TO LOWERCASE vMessage = vMessage.toLowerCase(); // CHANNELS ALLOWED FOR BOTS // ******** ******** ******** var vBotChannelAllow = ["Alicorn Sandbox", "[OG]"]; // CHECK CHANNELS ALLOWED if (vBotChannelAllow.indexOf(vChannel) !== -1){ // CHECK IF BOT IS ON FOR OTHERS OR IF YA SENT BOT TRIGGER if ( (vBotSwitch == true) || (vMyName == vUserSent) ){ // RESPOND: My Name if (vMessage == vMyName.toLowerCase()){ client.network().sendChanMessage(channel, "Respond to your name message here."); } // RESPOND TO: Hi, Hello, Hola, Sup, Suplo, Yo, Hey if (["hi", "hello", "hola", "sup", "yo", "hey"].indexOf(vMessage) !== -1){ var vName = "±[OG] Greeter: "; var vMsg = []; vMsg[0] = "Hello!"; vMsg[1] = " Go"; vMsg[2] = " Sup"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Quote if (["quote"].indexOf(vMessage) !== -1){ var vName = "±[OG] Quotes : "; var vMsg = []; vMsg[0] = " (19:07:25) [OG]Leto: just lost 26 pooints cause i left a fucking window open..!"; vMsg[1] = " (21:18:12) [OG]JokerKing: my mom just fucking flipped shit over me not knowing where her tampons go"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Shoot if (["shoot"].indexOf(vMessage) !== -1){ var vName = "±RPSS : "; var vMsg = []; vMsg[0] = vUserSent + " uses rock!"; vMsg[1] = vUserSent + " uses paper!"; vMsg[2] = vUserSent + " uses scissor!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Flip if (["flip"].indexOf(vMessage) !== -1){ var vName = "±Random: "; var vMsg = []; vMsg[0] = vUserSent + " flipped a coin at it landed on heads!"; vMsg[1] = vUserSent + " flipped a coin and it landed on tails!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } } if (vMessage == "hug"){ var vName = "±Hug Specialist: "; client.network().sendChanMessage(channel, vName + vUserSent + " hugs " + randomName + " tightly with love and care! "); } if (vMessage == "molest"){ var vName = "±Pervert: "; var vMsg = []; vMsg[0] = vUserSent + " shoved a dick up his ass."; client.network().sendChanMessage(channel, vName + vUserSent + " injected a long black dildo into " + randomName + " booty hole! "); } // SWITCHES if ( (vMyName == vUserSent) && (vMessage == "turn up") ){ vBotSwitch = true; client.network().sendChanMessage(channel, "±Bot: Bots turned on."); } if ( (vMyName == vUserSent) && (vMessage == "turn down") ){ vBotSwitch = false; client.network().sendChanMessage(channel, "±Bot: Bots turned off."); } } } // #### #### #### #### #### // END OF ADD SCRIPT // #### #### #### #### #### } })
Looks like I did it right then this happens: (22:42:48) Fatal Script Error line 281: SyntaxError: Parse error <global>() at 281 The red } is line 81 I have to go so I will deal with this tomorrow. Thanks for your help :)
You didn't need to add this blue code, it was just an example so you know. if (vgBotOn ==true) { // all the commands that others can use here for example } That error is usually caused by missing start or end bracket if I'm correct. Possibly also if you added one extra when you shouldn't had. Check the start and end of brackets on that line of code.
I give up no matter how much I try it is always an error! (17:51:28) ±Client Bot: Scripts updated. (17:51:28) ±Client Bot: Commands: (17:51:28) ±Client Bot: // -setbot [off/on] (17:51:28) ±Client Bot: // -define [word]:[selection number] (17:51:28) Fatal Script Error line 497: ReferenceError: Can't find variable: channel <global>() at scripts.js:497 // GLOBAL VARIABLES // ******** ******** ******** var vBotSwitch = true; var vgBotName = "±Client Bot: "; var vgCommandSymbol = "-"; var vgAutoRespond = true; var vgBlockedChannel = ["Blackjack","Hangman","Mafia","Tohjo Falls","Tournaments","Trivia"]; // DEFINE CACHED MEMORY var vgBot_Define_Word; var vgBot_Define_Data; print(vgBotName + "Scripts updated."); print(vgBotName + "Commands:"); print(vgBotName + "// -setbot [off/on]"); print(vgBotName + "// -define [word]:[selection number]"); var poScript; poScript = ({ beforeChannelMessage: function(message, channel, html) { // #### #### #### #### #### // MY ADD SCRIPT - AUTO RESPOND MESSAGE // #### #### #### #### #### // VARIABLES // ******** ******** ******** var vMessage = message; var vChannel = client.channelName(channel); var vMyName = client.ownName(); var vUserSent = vMessage.substring(0, vMessage.indexOf(':')); var ownName = client.ownName(); var vMyName = client.ownName(); var vUserSentName = message.substring(0, message.indexOf(':')); var vUserSentMessage = message.substr(message.indexOf(':') + 2).toLowerCase(); var vChannelName = client.channelName(channel); // COMMAND + COMMAND DATA SETUP // ******** ******** ******** if (vgCommandSymbol == vUserSentMessage.charAt(0)) { // print("command symbol detected"); var vCommand, vCommandData; var vSplit = vUserSentMessage.indexOf(' '); if (vSplit !== -1) { vCommand = vUserSentMessage.substring(1, vSplit).toLowerCase(); vCommandData = vUserSentMessage.substr(vSplit + 1); } else { vCommand = vUserSentMessage.substr(1).toLowerCase(); } } // BOT OWNER COMMANDS // ******** ******** ******** if (vMyName == vUserSentName) { // AUTO RESPOND SWITCH // ******** ******** ******** if (vCommand == "setbot") { if (vCommandData == "on") { vgAutoRespond = true; client.network().sendChanMessage(channel, vgBotName + "Auto Messages enabled."); } if (vCommandData == "off") { vgAutoRespond = false; client.network().sendChanMessage(channel, vgBotName + "Auto Messages disabled."); } } } // DEFINE (CODE PROVIDED BY JINORA + EDITED BY NIGHTFALL ALICORN) // ******** ******** ******** if (vgAutoRespond == true) { if (vgBlockedChannel.indexOf(vChannelName) == -1) { if (vCommand == "define") { // CHECK FOR SECONDARY COMMAND DATA if (vCommandData.indexOf(":") !== -1) { // SPLIT var vData = vCommandData.split(":",2); var vDefineWord = vData[0]; var vDefineSelection = vData[1]; // MAKE SURE vDefineSelection IS AN INTEGER AND FLOOR vDefineSelection = Math.floor(parseInt(vDefineSelection)); if (vDefineSelection == parseInt(vDefineSelection)) { // DO NOTHING } else { vDefineSelection = 0; } } else { var vDefineWord = vCommandData; var vDefineSelection = 0; } var vDefStatus = ""; // IF WORD IS STORED IN CACHED READ CURRENTLY DOWNLOAD ONE if (vgBot_Define_Word == vDefineWord) { vDefData = vgBot_Define_Data; vDefStatus = "(Cached)"; } // IF WORD NOT CURRENTLY STORED IN CACHED DOWNLOAD IT if (vgBot_Define_Word != vDefineWord) { // GET RESULT FROM URBAN DICTIONARY AND STORE DATA var vResponse = sys.synchronousWebCall("http://api.urbandictionary.com/v0/define?term=" + (encodeURIComponent(vDefineWord))); var vDefData = JSON.parse(vResponse); vgBot_Define_Word = vDefineWord; vgBot_Define_Data = vDefData; vDefStatus = "(Downloading...)"; } // CHECK IF DEFINITION DOESNT EXIST if (vDefData.result_type != "exact") { client.network().sendChanMessage(channel, vgBotName + "\"" + vDefineWord.toLowerCase() + "\"" + " is not defined!") } // IF IT DOES EXIST else { // BUILD AND COUNT DEFINITIONS AVAILABLE var vDefString = []; var vDefLength = -1; var vCheck = true; for (x=0; vCheck==true; x++){ try { vDefString[x] = vDefData.list[x].definition; vDefLength++; } catch (err) { vCheck = false; } } // DEFINE SELECTION RANGE CHECK if (vDefineSelection > vDefLength) { vDefineSelection = vDefLength; } if (vDefineSelection < 0) { vDefineSelection = 0; } // OBTAIN STRING TO ALLOW LENGTH CHECK var vStringLimit = 4900; // String Limit is 4900 var vStringToPrint = vDefString[vDefineSelection]; // MESSAGE FORMAT var vDefMessageWord = "\"" + vDefineWord.toLowerCase() + "\""; var vDefMessageInfo = vStringToPrint; var vDefMessageSelection = "(" + vDefineSelection + "/" + vDefLength + ")" var vDefMessageLimitReached = "[String Limit of " + vStringLimit + " Reached]"; // BANNED WORDS var vDefBanned = [ ]; // CHECK BANNED WORD if (vDefBanned.indexOf(vDefineWord) == -1) { // STRING LIMIT CHECK if (vStringToPrint.length <= vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo); } if (vStringToPrint.length > vStringLimit) { client.network().sendChanMessage(channel, vgBotName + " " + vDefStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo.substring(0, vStringLimit) + " " + vDefMessageLimitReached); } } else { client.network().sendChanMessage(channel, vgBotName + "The define for this word is banned."); } } } } } } }); ChannelUserID = client.channel(channel).players(); ChannelUserName = []; for (var x = 0; x < ChannelUserID.length; x++) { ChannelUserName[x] = client.name(ChannelUserID[x]); } var randomName = ChannelUserName[Math.floor((Math.random()*ChannelUserName.length)+0)]; // EXTRACT MESSAGE BY TAKING OUT THE NAME if (vMessage.indexOf(':') >= 0) {vMessage = vMessage.substr(vMessage.indexOf(':') + 2);} // SET THE MESSAGE TEXT TO LOWERCASE vMessage = vMessage.toLowerCase(); // CHANNELS ALLOWED FOR BOTS // ******** ******** ******** var vBotChannelAllow = ["Alicorn Sandbox", "[OG]"]; // CHECK CHANNELS ALLOWED if (vBotChannelAllow.indexOf(vChannel) !== -1){ // CHECK IF BOT IS ON FOR OTHERS OR IF YA SENT BOT TRIGGER if ( (vBotSwitch == true) || (vMyName == vUserSent) ){ // RESPOND: My Name if (vMessage == vMyName.toLowerCase()){ client.network().sendChanMessage(channel, "Respond to your name message here."); } // RESPOND TO: Hi, Hello, Hola, Sup, Suplo, Yo, Hey if (["hi", "hello", "hola", "sup", "yo", "hey"].indexOf(vMessage) !== -1){ var vName = "±[OG] Greeter: "; var vMsg = []; vMsg[0] = "Hello!"; vMsg[1] = " Go"; vMsg[2] = " Sup"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Quote if (["quote"].indexOf(vMessage) !== -1){ var vName = "±[OG] Quotes : "; var vMsg = []; vMsg[0] = " (19:07:25) [OG]Leto: just lost 26 pooints cause i left a fucking window open..!"; vMsg[1] = " (21:18:12) [OG]JokerKing: my mom just fucking flipped shit over me not knowing where her tampons go"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Shoot if (["shoot"].indexOf(vMessage) !== -1){ var vName = "±RPSS : "; var vMsg = []; vMsg[0] = vUserSent + " uses rock!"; vMsg[1] = vUserSent + " uses paper!"; vMsg[2] = vUserSent + " uses scissor!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } // RESPOND TO: Flip if (["flip"].indexOf(vMessage) !== -1){ var vName = "±Random: "; var vMsg = []; vMsg[0] = vUserSent + " flipped a coin at it landed on heads!"; vMsg[1] = vUserSent + " flipped a coin and it landed on tails!"; var vRNG = Math.floor((Math.random()*vMsg.length)+0); client.network().sendChanMessage(channel, vName + vMsg[vRNG]); } } if (vMessage == "hug"){ var vName = "±Hug Specialist: "; client.network().sendChanMessage(channel, vName + vUserSent + " hugs " + randomName + " tightly with love and care! "); } // SWITCHES if ( (vMyName == vUserSent) && (vMessage == "turn up") ){ vBotSwitch = true; client.network().sendChanMessage(channel, "±Bot: Bots turned on."); } if ( (vMyName == vUserSent) && (vMessage == "turn down") ){ vBotSwitch = false; client.network().sendChanMessage(channel, "±Bot: Bots turned off."); } } // #### #### #### #### #### // END OF ADD SCRIPT