Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // GLOBAL VARIABLES
- // ******** ******** ********
- var vgBotName = "++Pie: ";
- var vgCommandSymbol = "-";
- var vgBotEnabled = true;
- var vgOfficalChannelArray = ["Blackjack", "Developer's Den", "Evolution Game", "Hangman", "Indigo Plateau", "Mafia", "Mafia Review", "Tohjo Falls", "Tohjo v2", "Tournaments", "TrivReview", "Trivia", "Victory Road", "Watch"];
- // DEFINE CACHE MEMORY
- var vgDefineCacheWord, vgDefineCacheData;
- // PRINT
- // ******** ******** ********
- function print(message) {
- // THIS OVERWRITES THE BUILT-IN PRINT FUNCTION TO ONLY DISPLAY MESSAGE IN CURRENT CHANNEL
- client.printChannelMessage(message, client.currentChannel(), false);
- }
- print(vgBotName + "Scripts updated.");
- print(vgBotName + "Commands:");
- print(vgBotName + "// -bot [off/on]");
- print(vgBotName + "// -define [word]:[entry number]");
- var objPoScript;
- objPoScript = ({
- beforeChannelMessage: function (message, channel, html) {
- // VARIABLES
- // ******** ******** ********
- var x,
- vMyName = client.ownName(),
- vUserSentName = message.substring(0, message.indexOf(':')),
- vUserSentMessage = message.substr(message.indexOf(':') + 2).toLowerCase(),
- vChannelName = client.channelName(channel);
- // COMMAND + COMMAND DATA SETUP
- // ******** ******** ********
- var vCommand = "", vCommandData = "", vSplit;
- if (vgCommandSymbol === vUserSentMessage.charAt(0)) {
- 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 === "bot") {
- if (vCommandData === "on") {
- vgBotEnabled = true;
- client.network().sendChanMessage(channel, vgBotName + "Bots Enabled.");
- }
- if (vCommandData === "off") {
- vgBotEnabled = false;
- client.network().sendChanMessage(channel, vgBotName + "Bots Disabled.");
- }
- }
- }
- // DEFINE
- // ******** ******** ********
- if (vgBotEnabled === true) {
- if (vgOfficalChannelArray.indexOf(vChannelName) === -1) {
- if (vCommand === "define") {
- // DECLAIRE COMMAND VARIABLES
- var vSplit,
- vDefineWord = "",
- vDefineEntry = "0",
- vDefineStatus = "",
- vDefineData;
- // -- CHECK IF NO COMMAND DATA EXIST AND ALERT USER --
- if ((vCommandData === undefined) || (vCommandData === "")) {
- client.network().sendChanMessage(channel, vgBotName + "Hahahaha learn to type bruh.");
- return;
- }
- // CHECK FOR SECONDARY COMMAND DATA
- if (vCommandData.indexOf(":") !== -1) {
- // SPLIT
- vSplit = vCommandData.split(":", 2);
- vDefineWord = vSplit[0];
- vDefineEntry = vSplit[1];
- // MAKE SURE vDefineEntry IS AN INTEGER AND FLOOR
- vDefineEntry = Math.floor(parseInt(vDefineEntry, 10));
- if (vDefineEntry !== parseInt(vDefineEntry, 10)) {
- vDefineEntry = 0;
- }
- } else {
- vDefineWord = vCommandData;
- vDefineEntry = 0;
- }
- // IF WORD IS STORED IN CACHED READ CURRENTLY DOWNLOAD ONE
- if (vgDefineCacheWord === vDefineWord) {
- vDefineData = vgDefineCacheData;
- vDefineStatus = "(Cached)";
- }
- // IF WORD NOT CURRENTLY STORED IN CACHED DOWNLOAD IT
- if (vgDefineCacheWord !== vDefineWord) {
- // GET RESULT FROM URBAN DICTIONARY AND STORE DATA
- vDefineData = JSON.parse(sys.synchronousWebCall("http://api.urbandictionary.com/v0/define?term=" + (encodeURIComponent(vDefineWord))));
- vgDefineCacheWord = vDefineWord;
- vgDefineCacheData = vDefineData;
- vDefineStatus = "(Being Awesome)";
- }
- // CHECK IF DEFINITION DOESNT EXIST
- if (vDefineData.result_type !== "exact") {
- client.network().sendChanMessage(channel, vgBotName + "\"" + vDefineWord.toLowerCase() + "\"" + " is not defined!");
- return;
- }
- // BUILD AND COUNT DEFINITIONS AVAILABLE
- var vDefineStringArray = [],
- vDefineLength = -1,
- vCheckedLength = false;
- for (x = 0; vCheckedLength === false; x++) {
- try {
- vDefineStringArray[x] = vDefineData.list[x].definition;
- vDefineLength++;
- } catch (error) {
- vCheckedLength = true;
- }
- }
- // DEFINE SELECTION RANGE CHECK
- if (vDefineEntry > vDefineLength) {
- vDefineEntry = vDefineLength;
- }
- if (vDefineEntry < 0) {
- vDefineEntry = 0;
- }
- // OBTAIN STRING TO ALLOW LENGTH CHECK
- var vStringLimit = 420, // String Limit is 420
- vStringToPrint = vDefineStringArray[vDefineEntry];
- // MESSAGE FORMAT
- var vDefMessageWord = "\"" + vDefineWord.toLowerCase() + "\"",
- vDefMessageInfo = vStringToPrint,
- vDefMessageSelection = "(" + vDefineEntry + "/" + vDefineLength + ")",
- vDefMessageLimitReached = "[String Limit of " + vStringLimit + " Reached]";
- // STRING LIMIT CHECK
- if (vStringToPrint.length <= vStringLimit) {
- client.network().sendChanMessage(channel, vgBotName + " " + vDefineStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo);
- }
- if (vStringToPrint.length > vStringLimit) {
- client.network().sendChanMessage(channel, vgBotName + " " + vDefineStatus + " " + vDefMessageWord + " " + vDefMessageSelection + ": " + vDefMessageInfo.substring(0, vStringLimit) + " " + vDefMessageLimitReached);
- }
- }
- }
- }
- } // END OF beforeChannelMessage
- });
Add Comment
Please, Sign In to add comment