Bots Home
|
Create an App
Multi-Toy Lovense Bot
Author:
os_vigilante
Description
Source Code
Launch Bot
Current Users
Created by:
Os_Vigilante
function tipmenumessageSpam() { messageTimeout = setTimeout(function () { 1 == messageSpam && noticeArray.length && (sendRotating(), tipmenumessageSpam()) }, messageTimer * minuteMS) } function addNotice(a) { isBlank(a) || (a = a.replace(/((\\|\/)n|\{newline\})/gi, "\n"), noticeArray.push(a)) } function parseRotating() { addNotice(cb.settings.notice1), addNotice(cb.settings.notice2), addNotice(cb.settings.notice3) } function sendRotating() { noticeArray.length && (noticeArray[noticeNum] && cb.sendNotice(noticeArray[noticeNum], "", "", cb.settings.noteColor, "bold"), noticeNum += 1, noticeNum >= noticeArray.length && (noticeNum = 0)) } function appTimeout(a, b) { cb.setTimeout(a, b < 1e3 ? 1e3 : b) } function isBlank(a) { var b; return a && (b = a.trim()), null == b || "" == b || "[Optional" == b.substr(0, 9) ? !0 : !1 } function tipmenuNotifierSpam() { clearTimeout(notifierTimeout), notifierTimeout = setTimeout(tipMenuNotifier, toymenuTimer * minuteMS) } function tipMenuNotifier() { var b, a = "| "; if (1 == notifierSpam) { for (var c = 0; c <= MAXSEP - 1; c++) cb.settings.sepchar == separators[c].label && (a = separators[c].shortcut + " "); b = " " + a + " " + cb.settings.levelTitle + " " + a + "\n " + a + " " + cb.settings.levelSubTitle + " " + a + "\n"; for (var d = 1; d <= 5; d++) parseInt(cb.settings["level" + d + "Tip"]) > 0 && (b += d < 5 ? " " + cb.settings["level" + d + "medred"] + " Tip " + parseInt(cb.settings["level" + d + "Tip"]) + "-" + (parseInt(cb.settings["level" + (d + 1) + "Tip"]) - 1) + " " : " " + cb.settings["level" + d + "medred"] + " Tip " + parseInt(cb.settings["level" + d + "Tip"]) + "+ ", activeToyArray.length > 1 ? (cbjs.arrayContains(activeToyArray, "lush") && "lush" == activeToyArray[1] && (b += cb.settings.iconLush + " " + cb.settings["level" + d + "LushTime"] + " sec " + cb.settings["level" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" == activeToyArray[1] && (b += cb.settings.iconHush + " " + cb.settings["level" + d + "HushTime"] + " sec " + cb.settings["level" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" == activeToyArray[1] && (b += cb.settings.iconNora + " " + cb.settings["level" + d + "NoraTime"] + " sec " + cb.settings["level" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" == activeToyArray[1] && (b += cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " "), cbjs.arrayContains(activeToyArray, "lush") && "lush" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconLush + " " + cb.settings["level" + d + "LushTime"] + " sec " + cb.settings["level" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconHush + " " + cb.settings["level" + d + "HushTime"] + " sec " + cb.settings["level" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconNora + " " + cb.settings["level" + d + "NoraTime"] + " sec " + cb.settings["level" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" != activeToyArray[1] ? b += d < 5 ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " \n" : "Yes" == cb.settings.specialEnable ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " \n" : ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " " : (d < 5 && (b += "\n"), 5 == d && "Yes" == cb.settings.specialEnable ? b += "\n" : 5 == d && "No" == cb.settings.specialEnable)) : (cbjs.arrayContains(activeToyArray, "lush") && (b += cb.settings.iconLush + " " + cb.settings["level" + d + "LushTime"] + " sec " + cb.settings["level" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && (b += cb.settings.iconHush + " " + cb.settings["level" + d + "HushTime"] + " sec " + cb.settings["level" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && (b += cb.settings.iconNora + " " + cb.settings["level" + d + "NoraTime"] + " sec " + cb.settings["level" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") ? b += d < 5 ? cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " \n" : "Yes" == cb.settings.specialEnable ? cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " \n" : cb.settings.iconOhmibod + " " + cb.settings["level" + d + "OhmibodTime"] + " sec " + cb.settings["level" + d + "OhmibodName"] + " " : (d < 5 && (b += "\n"), 5 == d && "Yes" == cb.settings.specialEnable ? b += "\n" : 5 == d && "No" == cb.settings.specialEnable))); if ("Yes" == cb.settings.specialEnable) { for (var c = 0; c <= MAXSEP - 1; c++) cb.settings.sepchar == separators[c].label && (a = separators[c].shortcut + " "); b += "\n " + a + " " + cb.settings.specialTitle + " " + a + "\n"; for (var d = 1; d <= 2; d++) parseInt(cb.settings["special" + d + "Tip"]) > 0 && (b += " Special " + cb.settings["level" + d + "medred"] + " Tip " + parseInt(cb.settings["special" + d + "Tip"]) + " ", activeToyArray.length > 1 ? (cbjs.arrayContains(activeToyArray, "lush" && "lush" == activeToyArray[1]) && (b += cb.settings.iconLush + " " + cb.settings["special" + d + "LushTime"] + " sec " + cb.settings["special" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" == activeToyArray[1] && (b += cb.settings.iconHush + " " + cb.settings["special" + d + "HushTime"] + " sec " + cb.settings["special" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" == activeToyArray[1] && (b += cb.settings.iconNora + " " + cb.settings["special" + d + "NoraTime"] + " sec " + cb.settings["special" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" == activeToyArray[1] && (b += cb.settings.iconOhmibod + " " + cb.settings["special" + d + "OhmibodTime"] + " sec " + cb.settings["special" + d + "OhmibodName"] + " "), cbjs.arrayContains(activeToyArray, "lush") && "lush" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconLush + " " + cb.settings["special" + d + "LushTime"] + " sec " + cb.settings["special" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconHush + " " + cb.settings["special" + d + "HushTime"] + " sec " + cb.settings["special" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" != activeToyArray[1] && (b += ":plusred " + cb.settings.iconNora + " " + cb.settings["special" + d + "NoraTime"] + " sec " + cb.settings["special" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" != activeToyArray[1] ? b += d < 2 ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["special" + d + "OhmibodTime"] + " sec " + cb.settings["special" + d + "OhmibodName"] + " \n" : ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["special" + d + "OhmibodTime"] + " sec " + cb.settings["special" + d + "OhmibodName"] + " " : d < 2 && (b += "\n")) : (cbjs.arrayContains(activeToyArray, "lush") && (b += cb.settings.iconLush + " " + cb.settings["special" + d + "LushTime"] + " sec " + cb.settings["special" + d + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && (b += cb.settings.iconHush + " " + cb.settings["special" + d + "HushTime"] + " sec " + cb.settings["special" + d + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && (b += cb.settings.iconNora + " " + cb.settings["special" + d + "NoraTime"] + " sec " + cb.settings["special" + d + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") ? b += d < 2 ? cb.settings.iconOhmibod + " " + cb.settings["special" + d + "OhmibodTime"] + " sec " + cb.settings["special" + d + "OhmibodName"] + " \n" : cb.settings.iconOhmibod + " " + cb.settings["special" + d + "OhmibodTime"] + " sec " + cb.settings["special" + d + "OhmibodName"] + " " : d < 2 && (b += "\n"))) } cb.sendNotice(b, "", "", cb.settings.messColor, "bold"), tipmenuNotifierSpam() } } function tipMenu() { for (var c, b = "| ", d = 0; d <= MAXSEP - 1; d++) cb.settings.sepchar == separators[d].label && (b = separators[d].shortcut + " "); c = " " + b + " " + cb.settings.levelTitle + " " + b + "\n " + b + " " + cb.settings.levelSubTitle + " " + b + "\n"; for (var e = 1; e <= 5; e++) parseInt(cb.settings["level" + e + "Tip"]) > 0 && (c += e < 5 ? " " + cb.settings["level" + e + "medred"] + " Tip " + parseInt(cb.settings["level" + e + "Tip"]) + "-" + (parseInt(cb.settings["level" + (e + 1) + "Tip"]) - 1) + " " : " " + cb.settings["level" + e + "medred"] + " Tip " + parseInt(cb.settings["level" + e + "Tip"]) + "+ ", activeToyArray.length > 1 ? (cbjs.arrayContains(activeToyArray, "lush") && "lush" == activeToyArray[1] && (c += cb.settings.iconLush + " " + cb.settings["level" + e + "LushTime"] + " sec " + cb.settings["level" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" == activeToyArray[1] && (c += cb.settings.iconHush + " " + cb.settings["level" + e + "HushTime"] + " sec " + cb.settings["level" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" == activeToyArray[1] && (c += cb.settings.iconNora + " " + cb.settings["level" + e + "NoraTime"] + " sec " + cb.settings["level" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" == activeToyArray[1] && (c += cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " "), cbjs.arrayContains(activeToyArray, "lush") && "lush" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconLush + " " + cb.settings["level" + e + "LushTime"] + " sec " + cb.settings["level" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconHush + " " + cb.settings["level" + e + "HushTime"] + " sec " + cb.settings["level" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconNora + " " + cb.settings["level" + e + "NoraTime"] + " sec " + cb.settings["level" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" != activeToyArray[1] ? c += e < 5 ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " \n" : "Yes" == cb.settings.specialEnable ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " \n" : ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " " : (e < 5 && (c += "\n"), 5 == e && "Yes" == cb.settings.specialEnable ? c += "\n" : 5 == e && "No" == cb.settings.specialEnable)) : (cbjs.arrayContains(activeToyArray, "lush") && (c += cb.settings.iconLush + " " + cb.settings["level" + e + "LushTime"] + " sec " + cb.settings["level" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && (c += cb.settings.iconHush + " " + cb.settings["level" + e + "HushTime"] + " sec " + cb.settings["level" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && (c += cb.settings.iconNora + " " + cb.settings["level" + e + "NoraTime"] + " sec " + cb.settings["level" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") ? c += e < 5 ? cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " \n" : "Yes" == cb.settings.specialEnable ? cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " \n" : cb.settings.iconOhmibod + " " + cb.settings["level" + e + "OhmibodTime"] + " sec " + cb.settings["level" + e + "OhmibodName"] + " " : (e < 5 && (c += "\n"), 5 == e && "Yes" == cb.settings.specialEnable ? c += "\n" : 5 == e && "No" == cb.settings.specialEnable))); if ("Yes" == cb.settings.specialEnable) { for (var d = 0; d <= MAXSEP - 1; d++) cb.settings.sepchar == separators[d].label && (b = separators[d].shortcut + " "); c += "\n " + b + " " + cb.settings.specialTitle + " " + b + "\n"; for (var e = 1; e <= 2; e++) parseInt(cb.settings["special" + e + "Tip"]) > 0 && (c += " Special " + cb.settings["level" + e + "medred"] + " Tip " + parseInt(cb.settings["special" + e + "Tip"]) + " ", activeToyArray.length > 1 ? (cbjs.arrayContains(activeToyArray, "lush" && "lush" == activeToyArray[1]) && (c += cb.settings.iconLush + " " + cb.settings["special" + e + "LushTime"] + " sec " + cb.settings["special" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" == activeToyArray[1] && (c += cb.settings.iconHush + " " + cb.settings["special" + e + "HushTime"] + " sec " + cb.settings["special" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" == activeToyArray[1] && (c += cb.settings.iconNora + " " + cb.settings["special" + e + "NoraTime"] + " sec " + cb.settings["special" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" == activeToyArray[1] && (c += cb.settings.iconOhmibod + " " + cb.settings["special" + e + "OhmibodTime"] + " sec " + cb.settings["special" + e + "OhmibodName"] + " "), cbjs.arrayContains(activeToyArray, "lush") && "lush" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconLush + " " + cb.settings["special" + e + "LushTime"] + " sec " + cb.settings["special" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && "hush" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconHush + " " + cb.settings["special" + e + "HushTime"] + " sec " + cb.settings["special" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && "nora" != activeToyArray[1] && (c += ":plusred " + cb.settings.iconNora + " " + cb.settings["special" + e + "NoraTime"] + " sec " + cb.settings["special" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") && "ohmibod" != activeToyArray[1] ? c += e < 2 ? ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["special" + e + "OhmibodTime"] + " sec " + cb.settings["special" + e + "OhmibodName"] + " \n" : ":plusred " + cb.settings.iconOhmibod + " " + cb.settings["special" + e + "OhmibodTime"] + " sec " + cb.settings["special" + e + "OhmibodName"] + " " : e < 2 && (c += "\n")) : (cbjs.arrayContains(activeToyArray, "lush") && (c += cb.settings.iconLush + " " + cb.settings["special" + e + "LushTime"] + " sec " + cb.settings["special" + e + "LushName"] + " "), cbjs.arrayContains(activeToyArray, "hush") && (c += cb.settings.iconHush + " " + cb.settings["special" + e + "HushTime"] + " sec " + cb.settings["special" + e + "HushName"] + " "), cbjs.arrayContains(activeToyArray, "nora") && (c += cb.settings.iconNora + " " + cb.settings["special" + e + "NoraTime"] + " sec " + cb.settings["special" + e + "NoraName"] + " "), cbjs.arrayContains(activeToyArray, "ohmibod") ? c += e < 2 ? cb.settings.iconOhmibod + " " + cb.settings["special" + e + "OhmibodTime"] + " sec " + cb.settings["special" + e + "OhmibodName"] + " \n" : cb.settings.iconOhmibod + " " + cb.settings["special" + e + "OhmibodTime"] + " sec " + cb.settings["special" + e + "OhmibodName"] + " " : e < 2 && (c += "\n"))) } cb.sendNotice(c, "", "", cb.settings.messColor, "bold") } function notify(a, b, c, d, e) { null == c && (c = grey), null == d && (d = black), null == e && (e = "bold"), "onlyMods" == b ? cb.sendNotice(a, "", c, d, e, "red") : "roomHost" == b ? cb.sendNotice(a, roomHost, c, d, e) : "modsAndHost" == b ? (cb.sendNotice(a, "", c, d, e, "red"), cb.sendNotice(a, roomHost, c, d, e)) : null == b ? cb.sendNotice(a, "", c, d, e) : cb.sendNotice(a, b, c, d, e) } function notifyBold(a, b, c, d) { null == c && (c = black), null == d && (d = white), notify(a, b, c, d, "bold") } function notifyPlain(a, b, c) { bg = white, null == c && (c = black), notify(a, b, bg, c) } function notifyError(a, b) { notify(a, b, red, black) } function notifyErrorBold(a, b) { notify(a, b, black, white) } function activeToyArrayPopulate(a) { cbjs.arrayContains(activeToyArray, a) || activeToyArray.push(a) } function activeToyArrayDepopulate(a) { cbjs.arrayContains(activeToyArray, a) && cbjs.arrayRemove(activeToyArray, a) } function toyIcon(a, b) { var c = a[1], d = a[2]; cbjs.arrayContains(activeToyArray, c) ? null == d ? notifyError("You did not specify a gif for the icon", b) : "lush" == c ? (cb.settings.iconLush = d, notify("You have changed the icon for Lush to " + d, b)) : "hush" == c ? (cb.settings.iconHush = d, notify("You have changed the icon for Hush to " + d, b)) : "nora" == c ? (cb.settings.iconNora = d, notify("You have changed the icon for Nora to " + d, b)) : "ohmibod" == c && (cb.settings.iconOhmibod = d, notify("You have changed the icon for Ohmibod to " + d, b)) : notifyError("You did not specify an available toy. Use /toylist to show available toys", b) } function toyMenu(a, b) { "on" == a ? 1 == notifierSpam ? notifyError("The toy tip menu is already turned on.", b) : (notifierSpam = 1, tipmenuNotifierSpam(), notify("You have turned on the toy tip menu.", b)) : "off" == a ? 0 == notifierSpam ? notifyError("The toy tip menu is already turned off.", b) : (notifierSpam = 0, notify("You have turned off the toy tip menu.", b)) : null != a ? notifyError(a + " is not a valid option for /toymenu.", b) : null == a && notifyError("You did not enter a valid option for /toymenu.", b) } function toyNotices(a, b) { "on" == a ? 1 == messageSpam ? notifyError("The notice messages already turned on.", b) : (messageSpam = 1, notify("You have turned on the notice messages.", b)) : "off" == a ? 0 == messageSpam ? notifyError("The notice messages already turned off.", b) : (messageSpam = 0, notify("You have turned off the notice messages.", b)) : null != a ? notifyError(a + " is not a valid option for /toynotices.", b) : null == a && notifyError("You did not enter a valid option for /toynotices.", b) } function toySpecial(a, b) { "on" == a ? "Yes" == cb.settings.specialEnable ? notifyError("Special levels are already turned on.", b) : (cb.settings.specialEnable = "Yes", notify("You have turned on special levels.", b)) : "off" == a ? "No" == cb.settings.specialEnable ? notifyError("Special levels are already turned off.", b) : (cb.settings.specialEnable = "No", notify("You have turned off special levels.", b)) : null != a ? notifyError(a + " is not a valid option for /toyspecial.", b) : null == a && notifyError("You did not enter a valid option for /toyspecial.", b) } function help(a, b) { var c = 0; switch (null == a && (a = ""), a) { case "": c = 1, notifyBold("Multi-Toy Lovense Bot Help Menu", b), notify('Type "/toyhelp\xa0x", where x is one of the following choices, for more detailed information.\nEx: /toyhelp\xa0commands', b), notifyPlain("commands\nabout", b); break; case "commands": c = 1, notifyBold("Multi-Toy Lovense Bot Help Menu", b), notify('Type "/toyhelp\xa0x", where x is one of the following choices, for more detailed information.\nEx: /toyhelp\xa0commands', b), notifyPlain("/toyadd\n/toyrem\n/toyshow\n/toylist\n/toyicon\n/toymenu\n/toymenutimer\n/toynotices\n/toynoticetimer\n/toyspecial", b); break; case "about": c = 1, notifyBold("About Multi-Toy Lovense Bot", b), notify("Multi-Toy Lovense Bot is a custom bot made for Everyone, with continuing development by lund0894.\nComments, suggestions, requests, and bug reports can be communicated by either tweeting @lund08940, or by posting comments on Multi-Toy Lovense Bot's page at chaturbate.com/bots.\nThe purpose of Multi-Toy Lovense Bot is to be able to switch between toys and toy tip menus easily.", b), notify("", b); break; case "toyadd": c = 1, notifyBold("/toyadd Help", b), notify("/toyadd is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toyadd x, where x is the toy you want to add. This command adds a toy to the list of active toys. Use /toylist to show a list of available toys, or /toyshow to show a list of already active toys. Use /toyrem to remove a toy.", b), notify("", b); break; case "toyrem": case "toyremove": c = 1, notifyBold("/toyrem Help", b), notify("/toyrem is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toyrem x, where x is the toy you want to remove. This command removes a toy to the list of active toys. Use /toylist to show a list of available toys, or /toyshow to show a list of already active toys. Use /toyadd to add a toy.", b), notify("", b); break; case "toyshow": c = 1, notifyBold("/toyshow Help", b), notify("/toyshow is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toyshow. Using this command will display a list of active toys.", b), notify("", b); break; case "toylist": c = 1, notifyBold("/toylist Help", b), notify("/toylist is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toylist. Using this command will display a list of available toys.", b), notify("", b); break; case "toyicon": c = 1, notifyBold("/toyicon Help", b), notify("/toyicon is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toyicon x y, where x is the name of a toy, and y is the gifname of an icon. This command adds or replaces an icon for a toy.", b), notify("", b); break; case "toymenu": c = 1, notifyBold("/toymenu Help", b), notify("/toymenu is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toymenu x, where x is either on or off for the toy tip menu notifier.", b), notify("", b); break; case "toynotices": c = 1, notifyBold("/toynotices Help", b), notify("/toynotices is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toynotices x, where x is either on or off for the notices messages.", b), notify("", b); break; case "toymenutimer": c = 1, notifyBold("/toymenutimer Help", b), notify("/toymenutimer is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toymenutimer x, where x is the interval of the toy tip menu notifier in minutes.", b), notify("", b); break; case "toynoticetimer": c = 1, notifyBold("/toynoticetimer Help", b), notify("/toynoticetimer is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toynoticetimer x, where x is the interval between notice messages in minutes.", b), notify("", b); break; case "toyspecial": c = 1, notifyBold("/toyspecial Help", b), notify("/toyspecial is a command that is usable by moderators and room hosts.\nThe syntax for this command is /toyspecial x, where x is either on or off for displaying special levels.", b), notify("", b); break; case "tipmenu": c = 1, notifyBold("/tipmenu Help", b), notify("/tipmenu is a command that is usable by everyone.\nThe syntax for this command is /tipmenu. Using this command will display the toy tip menu to the user.", b), notify("", b) } 0 == c && notifyError(a + ' is not a valid subsection of the help menu. Type "/toyhelp" to access the main help menu.', b) } function init() { if (notifyError("Thank you for using Multi-Toy Lovense Bot! Please contact @lund08940 on Twitter if you are using this bot! I'd love to know who is using it and provide support!", cb.room_slug), "Yes" == cb.settings.levelMenu && (notifierSpam = 1, cb.setTimeout(function () { tipMenuNotifier() }, Math.floor(Math.random() * toymenuTimer + 1) * minuteMS / 3)), "Yes" == cb.settings.enableNotices && (parseRotating(), messageSpam = 1, cb.setTimeout(function () { sendRotating(), tipmenumessageSpam() }, Math.floor(Math.random() * messageTimer + 1) * minuteMS)), !isBlank(cb.settings.activeToys)) { var a = cb.settings.activeToys.replace(/\s+/g, ""); activeToyArray = a.replace(/^,+|,+$/g, "").split(",") } if (!isBlank(cb.settings.availableToys)) { var a = cb.settings.availableToys.replace(/\s+/g, ""); availableToyArray = a.replace(/^,+|,+$/g, "").split(",") } } cb.settings_choices = [{ name: "activeToys", label: "active toys on startup separated by commas", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "lush", required: !0 }, { name: "availableToys", label: "available toys to use with this bot - DO NOT Change this setting", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "lush, hush, nora, ohmibod", required: !0 }, { name: "levelMenu", label: "TIP MENU SETTINGS ..................... is the tip menu displayed?", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes", required: !0 }, { name: "levelTitle", label: "title of tip menu notice", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Interactive Toy That Responds to Your Tips", required: !0 }, { name: "levelSubTitle", label: "subtitle of tip menu notice", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Durations and Intensity Levels", required: !0 }, { name: "level1Tip", label: "Level 1 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1, required: !0 }, { name: "level2Tip", label: "Level 2 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 15, required: !0 }, { name: "level3Tip", label: "Level 3 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 100, required: !0 }, { name: "level4Tip", label: "Level 4 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 500, required: !0 }, { name: "level5Tip", label: "Level 5 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1e3, required: !0 }, { name: "specialEnable", label: "enables the special levels", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "No", required: !0 }, { name: "specialTitle", label: "subtitle of the special levels", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Special Levels", required: !0 }, { name: "special1Tip", label: "Special 1 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 234, required: !0 }, { name: "special2Tip", label: "Special 2 minimum tokens", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 345, required: !0 }, { name: "messColor", label: "Tip menu notice color (Hex Code With #)", type: "str", defaultValue: "#a30019", required: !0 }, { name: "toymenuTimer", label: "Interval (in mins) for tip menu", type: "int", minValue: 1, maxValue: 60, defaultValue: 3, required: !0 }, { name: "sepchar", type: "choice", choice1: "Vertical Bar", choice2: "Heart", choice3: "Pink Glitter", choice4: "Flowers", choice5: "Bow", choice6: "Pixel Heart", choice7: "Pink Sparkle", choice8: "Custom [Enter Below]", defaultValue: "Heart", label: "Separator character" }, { name: "customSep", label: "Custom Separator (use :GIFNAME with colon)", type: "str", minLength: 0, maxLength: 60, required: !1, defaultValue: "" }, { name: "level1medred", label: "number icon used for level 1", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":level1medred", required: !0 }, { name: "level2medred", label: "number icon used for level 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":level2medred", required: !0 }, { name: "level3medred", label: "number icon used for level 3", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":level3medred", required: !0 }, { name: "level4medred", label: "number icon used for level 4", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":level4medred", required: !0 }, { name: "level5medred", label: "number icon used for level 5", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":level5medred", required: !0 }, { name: "level1LushName", label: "LUSH SETTINGS ........................... Level 1 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Low", required: !0 }, { name: "level1LushTime", label: "Level 1 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1, required: !0 }, { name: "level2LushName", label: "Level 2 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Med", required: !0 }, { name: "level2LushTime", label: "Level 2 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 5, required: !0 }, { name: "level3LushName", label: "Level 3 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Ultra High", required: !0 }, { name: "level3LushTime", label: "Level 3 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "level4LushName", label: "Level 4 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level4LushTime", label: "Level 4 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 30, required: !0 }, { name: "level5LushName", label: "Level 5 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level5LushTime", label: "Level 5 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 60, required: !0 }, { name: "special1LushName", label: "Special 5 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvwave2", required: !0 }, { name: "special1LushTime", label: "Special 1 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "special2LushName", label: "Special 5 intensity for Lush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvpulse2", required: !0 }, { name: "special2LushTime", label: "Special 2 reaction time seconds for Lush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "iconLush", label: "icon used for Lovense Lush", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":lushsm", required: !0 }, { name: "level1HushName", label: "HUSH SETTINGS ........................... Level 1 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Low", required: !0 }, { name: "level1HushTime", label: "Level 1 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1, required: !0 }, { name: "level2HushName", label: "Level 2 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Med", required: !0 }, { name: "level2HushTime", label: "Level 2 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 5, required: !0 }, { name: "level3HushName", label: "Level 3 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Ultra High", required: !0 }, { name: "level3HushTime", label: "Level 3 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "level4HushName", label: "Level 4 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level4HushTime", label: "Level 4 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 30, required: !0 }, { name: "level5HushName", label: "Level 5 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level5HushTime", label: "Level 5 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 60, required: !0 }, { name: "special1HushName", label: "Special 5 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvwave2", required: !0 }, { name: "special1HushTime", label: "Special 1 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "special2HushName", label: "Special 5 intensity for Hush", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvpulse2", required: !0 }, { name: "special2HushTime", label: "Special 2 reaction time seconds for Hush", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "iconHush", label: "icon used for Lovense Hush", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":hushsm", required: !0 }, { name: "level1NoraName", label: "NORA SETTINGS ........................... Level 1 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Low", required: !0 }, { name: "level1NoraTime", label: "Level 1 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1, required: !0 }, { name: "level2NoraName", label: "Level 2 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Med", required: !0 }, { name: "level2NoraTime", label: "Level 2 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 5, required: !0 }, { name: "level3NoraName", label: "Level 3 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Ultra High", required: !0 }, { name: "level3NoraTime", label: "Level 3 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "level4NoraName", label: "Level 4 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level4NoraTime", label: "Level 4 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 30, required: !0 }, { name: "level5NoraName", label: "Level 5 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level5NoraTime", label: "Level 5 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 60, required: !0 }, { name: "special1NoraName", label: "Special 5 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvwave2", required: !0 }, { name: "special1NoraTime", label: "Special 1 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "special2NoraName", label: "Special 5 intensity for Nora", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvpulse2", required: !0 }, { name: "special2NoraTime", label: "Special 2 reaction time seconds for Nora", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "iconNora", label: "icon used for Lovense Nora", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":norasmall", required: !0 }, { name: "level1OhmibodName", label: "OHMIBOD SETTINGS .................... Level 1 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Low", required: !0 }, { name: "level1OhmibodTime", label: "Level 1 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 1, required: !0 }, { name: "level2OhmibodName", label: "Level 2 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Med", required: !0 }, { name: "level2OhmibodTime", label: "Level 2 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 5, required: !0 }, { name: "level3OhmibodName", label: "Level 3 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "Ultra High", required: !0 }, { name: "level3OhmibodTime", label: "Level 3 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "level4OhmibodName", label: "Level 4 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level4OhmibodTime", label: "Level 4 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 30, required: !0 }, { name: "level5OhmibodName", label: "Level 5 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: "High", required: !0 }, { name: "level5OhmibodTime", label: "Level 5 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 60, required: !0 }, { name: "special1OhmibodName", label: "Special 5 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvwave2", required: !0 }, { name: "special1OhmibodTime", label: "Special 1 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "special2OhmibodName", label: "Special 5 intensity for Ohmibod", type: "str", minLength: 1, maxLength: 1e4, defaultValue: ":lvpulse2", required: !0 }, { name: "special2OhmibodTime", label: "Special 2 reaction time seconds for Ohmibod", type: "int", minValue: 1, maxValue: 1e4, defaultValue: 20, required: !0 }, { name: "iconOhmibod", label: "icon used for Ohmibod", type: "str", minLength: 1, maxLength: 1e3, defaultValue: ":ohmibodsm1", required: !0 }, { name: "enableNotices", label: "NOTICE SETTINGS .............................. enables optional notices", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes", required: !0 }, { name: "messageTimer", label: "Interval (in mins) for notices", type: "int", minValue: 1, maxValue: 60, defaultValue: 4, required: !0 }, { name: "noteColor", label: "Notice color (Hex Code With #)", type: "str", defaultValue: "#a30019", required: !0 }, { name: "notice1", label: "optional notice 1", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Interactive toy that responds to your tips! Give me pleasure and make me wet!", required: !0 }, { name: "notice2", label: "optional notice 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Make me wet with your tips!!!", required: !0 }, { name: "notice3", label: "optional notice 3", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Give me pleasure with your tips!!!", required: !0 }, { name: "autoThankYou", label: "AUTO THANK YOU SETTINGS .................. enables automatic thank you messages", type: "choice", choice1: "Yes", choice2: "No", defaultValue: "Yes", required: !0 }, { name: "colorThanks2", label: "color for level 2 thank you (Hex Code With #)", type: "str", defaultValue: "#FF00FF", required: !0 }, { name: "thanks21", label: "1st random thank you for level 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 2! Thank you for giving me more pleasure! I love it!!", required: !0 }, { name: "thanks22", label: "2nd random thank you for level 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 2! Thank you sweetheart! I love it!!", required: !0 }, { name: "thanks23", label: "3rd random thank you for level 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 2! I love the stimulation! Thank you!!", required: !0 }, { name: "thanks24", label: "4th random thank you for level 2", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 2! Thank you!! :w__lvrHeart", required: !0 }, { name: "colorThanks3", label: "color for level 3 thank you (Hex Code With #)", type: "str", defaultValue: "#0101DF", required: !0 }, { name: "thanks31", label: "1st random thank you for level 3", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 3! Oh YES! YES! Thank you!!", required: !0 }, { name: "thanks32", label: "2nd random thank you for level 3", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 3! OMG! Thank you!!", required: !0 }, { name: "thanks33", label: "3rd random thank you for level 3", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 3! You know how to make me happy! Thank you!!", required: !0 }, { name: "colorThanks4", label: "color for level 4 thank you (Hex Code With #)", type: "str", defaultValue: "#FF0000", required: !0 }, { name: "thanks41", label: "1st random thank you for level 4", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 4! OMG! OMG! OMG! Please don't stop!!", required: !0 }, { name: "thanks42", label: "2nd random thank you for level 4", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 4! OMG! I really love this! Thank you!!!", required: !0 }, { name: "colorThanks5", label: "color for level 5 thank you (Hex Code With #)", type: "str", defaultValue: "#8904B1", required: !0 }, { name: "thanks5", label: "thank you for level 5", type: "str", minLength: 1, maxLength: 1e3, defaultValue: "Level 5! :w__gldHeart This is true love!! Thank you so much!!!! :w__gldHeart", required: !0 }]; var roomHost = cb.room_slug, dev = "lund0894", activeToyArray = new Array, availableToyArray = new Array, noticeArray = new Array, noticeNum = 0, toymenuTimer = parseInt(cb.settings.toymenuTimer), messageTimer = parseInt(cb.settings.messageTimer), notifierTimeout = 0, messageTimeout = 0, notifierSpam = 0, messageSpam = 0, minuteMS = parseInt(6e4), i = 0, MAXITEMS = 3, MAXSEP = 7; separators = [{ label: "Heart", shortcut: ":hearta12" }, { label: "Pink Glitter", shortcut: ":pixelglitter" }, { label: "Flowers", shortcut: ":tinyflower2" }, { label: "Bow", shortcut: ":bluebow" }, { label: "Pixel Heart", shortcut: ":pixelheart" }, { label: "Pink Sparkle", shortcut: ":sparklpink" }, { label: "Custom [Enter Below]", shortcut: cb.settings.customSep }]; var red = "#FF8989", grey = "#E7E7E7", black = "#000000", white = "#FFFFFF", setTimeout = function a(b, c) { function e() { d.cancelled || b() } if (!(this instanceof a)) return new a(b, c); var d = this; appTimeout(e, c) }, clearTimeout = function (a) { null != a && (a.cancelled = !0) }; cb.onMessage(function (msg) { function showVar() { this.debug = function (sVar) { try { notify(eval(sVar), dev), notify(eval(sVar), sm) } catch (e) { notify("no such variable", dev), notify("no such variable", sm) } } } var msgString = msg.m.trim(), isCommand = "/" == msgString.charAt(0), isKenoCmd = "!" == msgString.charAt(0), message = msgString.split(/\s+/g), u = msg.user, isHost = u == cb.room_slug, isDev = u == dev, isMod = msg.is_mod, m = msg.m; if (isCommand) { msg["X-Spam"] = !0, msg.background = grey, msg.c = black; var validCmd = 0, command, param, split_index; if (split_index = msgString.indexOf(" "), split_index > -1 ? (command = msgString.substr(0, split_index).toLowerCase(), param = msgString.substring(split_index + 1).trim()) : (command = msgString.toLowerCase(), param = null), 0 == validCmd && (isHost || isMod || isDev)) switch (validCmd = 1, command) { case "/toyadd": cbjs.arrayContains(activeToyArray, param) ? notifyError(param + " is already active, use /toyshow to see active toys", u) : cbjs.arrayContains(availableToyArray, param) ? (activeToyArrayPopulate(param), notify("You have added " + param + " to active toys", u)) : notifyError(param + " is not an available toy, use /toylist to see available toys", u); break; case "/toyrem": case "/toyremove": cbjs.arrayContains(availableToyArray, param) ? cbjs.arrayContains(activeToyArray, param) ? (activeToyArrayDepopulate(param), notify("You have removed " + param + " from active toys", u)) : notifyError(param + " is not active", u) : notifyError(param + " is not an available toy, use /toylist to see available toys", u); break; case "/toyshow": notify("Active Toys: " + cbjs.arrayJoin(activeToyArray, ", "), u); break; case "/toylist": notify("Available Toys: " + cbjs.arrayJoin(availableToyArray, ", "), u); break; case "/toymenu": toyMenu(param, u); break; case "/toynotices": toyNotices(param, u); break; case "/toyicon": toyIcon(message, u); break; case "/toyspecial": toySpecial(param, u); break; case "/toymenutimer": var n = parseInt(param); n > 0 ? (toymenuTimer = n, notify("Toy tip menu notices will now display every " + n + " minutes.", u)) : param ? notifyError("'" + param + "' is not a valid value for /toymenutimer.", u) : notifyError("You did not enter a valid value for /toymenutimer.", u); break; case "/toynoticetimer": var n = parseInt(param); n > 0 ? (messageTimer = n, notify("The notice messages will now display every " + n + " minutes.", u)) : param ? notifyError("'" + param + "' is not a valid value for /toynoticetimer.", u) : notifyError("You did not enter a valid value for /toynoticetimer.", u); break; case "/showvar": if (isDev) { var v = param, displayVar = new showVar; displayVar.debug(v) } else validCmd = 0; break; default: validCmd = 0 } if (0 == validCmd) switch (validCmd = 1, command) { case "/toyhelp": help(param, u); break; case "/tipmenu": tipMenu(u); break; default: validCmd = 0 } } return msg }), cb.onTip(function (a) { var b = parseInt(a.amount), d = (a.from_user, Math.round(8 * Math.random())), e = Math.round(6 * Math.random()), f = Math.round(4 * Math.random()); "Yes" == cb.settings.autoThankYou && (b >= cb.settings.level2Tip && b <= parseInt(cb.settings.level3Tip - 1) && (d <= 2 ? cb.sendNotice(cb.settings.thanks21, "", "", cb.settings.colorThanks2, "bold") : d >= 3 && d <= 4 ? cb.sendNotice(cb.settings.thanks22, "", "", cb.settings.colorThanks2, "bold") : d <= 5 && d <= 6 ? cb.sendNotice(cb.settings.thanks23, "", "", cb.settings.colorThanks2, "bold") : d <= 7 && d <= 8 && cb.sendNotice(cb.settings.thanks24, "", "", cb.settings.colorThanks2, "bold")), b >= cb.settings.level3Tip && b <= parseInt(cb.settings.level4Tip - 1) && (e <= 2 ? cb.sendNotice(cb.settings.thanks31, "", "", cb.settings.colorThanks3, "bold") : e <= 3 && d <= 4 ? cb.sendNotice(cb.settings.thanks32, "", "", cb.settings.colorThanks3, "bold") : e <= 5 && d <= 6 && cb.sendNotice(cb.settings.thanks33, "", "", cb.settings.colorThanks3, "bold")), b >= cb.settings.level4Tip && b <= parseInt(cb.settings.level5Tip - 1) && (f <= 2 ? cb.sendNotice(cb.settings.thanks41, "", "", cb.settings.colorThanks4, "bold") : f <= 3 && d <= 4 && cb.sendNotice(cb.settings.thanks42, "", "", cb.settings.colorThanks4, "bold")), b >= cb.settings.level5Tip && cb.sendNotice(cb.settings.thanks5, "", "", cb.settings.colorThanks5, "bold")) }), init();
© Copyright Chaturbate 2011- 2024. All Rights Reserved.