Bots Home
|
Create an App
snowtest
Author:
nabbs1
Description
Source Code
Launch Bot
Current Users
Created by:
Nabbs1
/** Name: LunaBot Author: nabbs1 most of the Honor goes to: "thommy297 - For his wonderful Annybot" and part to "zingknaat" - for "RoomRules" "Kellynumberfan" - for "MemberShowBot" "britney_and_justin" - for "UltraBot" Creation Date: 11/29/16 Date Last Edited: 11/29/16 Live Verson: 2.16 Test Version: 2.00 **/ /** to do: clean up the Code ;) --- Change Log 2.16 Code uploaded after testing 2.05 Code uploaded after testing 2.00 Code finished for live-testing **/ //user settings { cb.settings_choices = [ {name: 'tipTitles', label: 'Show the tips next to the name in the chat (user:|25| text)?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'kingTipper', label: 'Do you want to use the "King Tipper" function?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'kingTipperSpam', label: 'Announce periodically the token needed to be King?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'kingMin', label: 'Minimal tokens to be King and wear the crown?', type: 'int', minValue: 1, maxValue: 1000, defaultValue: 25}, {name: 'kingTimer', label: 'Announce the necessary tokens every X minutes:', type: 'int', minValue: 1, maxValue: 60, defaultValue: 9}, {name: 'leaderBoard', label: 'Using the Leader Board (Top 3 tippers today)? ', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'leaderBoardSpam', label: 'Announce the Leader Board periodically?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'leaderTimer', label: 'Every few minutes?', type: 'int', minValue: 1, maxValue: 60, defaultValue: 11}, {name: 'notifierEnter', label: 'Give a welcome message to the user when entering?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'enterMessage', label: 'Text of welcome message:', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'Welcome to my room! Enjoy your stay - and please be nice!! :smile'}, {name: 'rand01TGL', label: 'Announce a message in the chat periodically?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'rand01Timer', label: 'Every few minutes?', type: 'int', minValue: 1, maxValue: 60, defaultValue: 15}, {name: 'rand01Message', label: 'Message text (you can use emotes): ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: ':Promo '}, {name: 'rand02TGL', label: 'Another Ad ?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'rand02Timer', label: 'Every few minutes ?', type: 'int', minValue: 1, maxValue: 60, defaultValue: 9}, {name: 'rand02Message', label: 'Message text 2 (you can use emotes): ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'Welcome to my room !! Positive Vibes only! :peace2'}, {name: 'rand03TGL', label: '<And another one?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'rand03Timer', label: 'Every few minutes?', type: 'int', minValue: 1, maxValue: 60, defaultValue: 11}, {name: 'rand03Message', label: 'Text of message 3 (you can use emotes): ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: ':mhyper'}, {name: 'tipMenuSpam', label: 'Announce a Tip Menu in the chat periodically?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'tipMenuMSG', label: 'Text of your Tip Menu', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'Tip Menu: Spanks(3): 25 | Any Flash(brief): 35 | Any Spread: 75 | Kitty Play: 180 | Buttplug me: 450 | Control my toy for 5 minutes: 500 | Instacum w/ fingers: 999 | Instacum w/ vibe: 1333 | Instacum w/dildo: 1777 || for special requests please ask before tipping !!'}, {name: 'tipMenuTimer', label: 'Announce the Tip Menu every few minutes? ', type: 'int', minValue: 1, maxValue: 60, defaultValue: 7}, {name: 'notifierTip', label: 'Show a Thankyou if a user gives tip?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'tipMessage', label: 'Thankyou text (you can use emotes):', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'Thank you! :yay2 '}, {name: 'tipMessageMin', label: 'Minimum tip to show Thankyou:', type: 'int', minValue: 1, maxValue: 100, defaultValue: 2}, {name: 'rudeList', label: 'AutoBan on entering: (exact nick eg user1, user2,: ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'DoNotDelete,'}, {name: 'niceList', label: 'Gray that can always speak: (exact nick eg user1, user2,): ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'DoNotDelete,'}, {name: 'enterNotify', label: 'Let me know when you enter: (exact nick !! - eg "user1, user2, user3,"): ', type: 'str', minLength: 1, maxLength: 1000, defaultValue: 'DoNotDelete,'}, {name: 'rule1', type:'str', minLength:1, maxLength:255, label:'Room Rule #1', defaultValue: 'Positive vibes only!'}, {name: 'rule2', type:'str', minLength:1, maxLength:255, label:'Room Rule #2', defaultValue: 'No PMs, please dont ask. Privates are only scheduled.'}, {name: 'rule3', type:'str', minLength:1, maxLength:255, label:'Room Rule #3', defaultValue: 'Keep dirty talk in tip notes!'}, {name: 'rule4', type:'str', minLength:1, maxLength:255, label:'Room Rule #4', defaultValue: 'Tips before requests, no begging or demanding!'}, {name: 'rule5', type:'str', minLength:1, maxLength:255, label:'Room Rule #5', defaultValue: 'My name is Luna - so please DONT call me bb - baby - babe - etc. !!'}, {name: 'rule6', type:'str', minLength:1, maxLength:255, label:'Room Rule #6 (optional)', required:false}, {name: 'rule7', type:'str', minLength:1, maxLength:255, label:'Room Rule #7 (optional)', required:false}, {name: 'rule8', type:'str', minLength:1, maxLength:255, label:'Room Rule #8 (optional)', required:false}, {name: 'advertisement_wait_time', type:'choice', label:'Show Room Rules every X minutes? ', choice1:5, choice2:10, choice3:15, choice4:20, choice5:25, choice6:30, defaultValue:15}, {name: 'allow_fanclub', label: "Hidden Cam - FanClub members can view without tip? 0=No - 1=Yes.", type: 'int', minValue: 0, maxValue: 1, defaultValue: 0}, {name: 'allow_mods', label: "Hidden Cam - Moderators can see without tip? 0=No - 1=Yes.", type: 'int', minValue: 0, maxValue: 1, defaultValue: 1}, {name: 'allow_tips', label: "Hidden Cam - Users can tip to enter the Hidden Show? 0 = No 1 = Yes", type: 'int', minValue: 0, maxValue: 1, defaultValue: 1}, {name: 'allow_tips_before_show', label: "Those who have tipped before the show can see? 0=No 1=Yes", type: 'int', minValue: 0, maxValue: 1, defaultValue: 1}, {name: 'grey_chat', label: "Can the Grays talk during the Hidden Show? 0=No 1=Yes", type: 'int', minValue: 0, maxValue: 1, defaultValue: 0}, {name: 'min_tip_amt', label: "How many token to enter to see the Hidden Show?", type: 'int', minValue: 1, maxValue: 1000, defaultValue: 15}, {name: 'memberlist', label:"Users / friends you can always see? (No spaces, separated by commas): ", type:'str', minLength: 0, maxLength: 4000, defaultValue:'nabbs1'} ]; } //variables { var tipperArray = new Array; var numTippers = 0; var startTime = 0; var timerDuration = 0; var timeAdded = 0; var currentKing = ''; var kingTip = 0; var kingMin = 10; var kingTimer = parseInt(cb.settings.kingTimer); var leaderArray = [['',0],['',0],['',0]]; var leaderTimer = parseInt(cb.settings.leaderTimer); var initialize = 0; var kingTipperSpam = 0; var leaderboardSpam = 0; var tipMenuMSG = cb.settings.tipMenuMSG; var rand01MSG = cb.settings.rand01Message; var rand02MSG = cb.settings.rand02Message; var rand03MSG = cb.settings.rand03Message; var hiddenMessage1 = 'Show is for tippers only!! Tip ' + cb.settings.min_tip_amt + ' to get in and see!! \nDONT tip if you are on a tablet - Android or iPad!!'; var hiddenMessage2 = "\nPlease Tip " + cb.settings.min_tip_amt + " tkn to get in and see!!\nDONT tip if you are on Android or iOS"; var hiddenMessage3 = ':hiddencam Please Tip ' + cb.settings.min_tip_amt + ' to get in and see!!\n DONT tip if you are on a tablet - Android or iPad!!'; //new var niceList = cb.settings.niceList; var niceLIST = (cb.settings.niceList + ',nabbs1,'); var rudeList = cb.settings.rudeList; var rudeLIST = (cb.settings.rudeList + ',robbieh01,matinosa,kronos333,kingspin,edu9696,kingoflust1,tifacoo,putaria3,chico248,deadmark15,bobred960,rumblerolls,pimaja,lunga30,thomas89,dominant_master,bmwkimo,mario333333,manomax85,simonmc,kinky82fl,zigzag135,0lan,zigmund666,iamslutty,b4u,wonderworl99,quimera,hardzapa,billythedude61,cuntslut,ami666,paulszzz,negro_rompe_tubos,lprincedudesert,fermingalarga,haosama,follazorras,'); //var enotifyLIST = (cb.settings.enterNotify + 'nabbs1b,'); var enotifyLIST = (cb.settings.enterNotify + 'nabbs1,'); var enotifyTH = 'nabbs1b,nojesusjammies,'; var rudeBlue = ',gutsvent,rhenatosgg,roughndirt,mombesa,makeyoumybitch,deanthehunter,rscdj,evil_hellfucker,'; var spammerLIST = 'wetpussy|wetkitty|katiexx|kimmyy|real__|_(wife|g.rl|cheating|slutty|c2c)_|_(cougar|housewife)|for__?(date|c2c|cam2cam|chat)|__(for|loves)__|kinkygirl|www_|_record|_open_|free_tkn'; var spamTEXT = 'generator|camwhores|CbCam|ChaturFuck|WebcamFucker|FreeChatur|CbSluts|cbtokens|USfuckGirls|cam2camcb|7iphone|iphone7|iphone 7'; var enterBan = new Array; var silenceLIST = ''; var warnLIST = 'user1,'; var userTagArray = new Array; var userTag = 0; var tippertoday = 0; var tippedMe = 0; //new end //color codes { var purple = '#DEBDDE';//original color: #B369B3 var yellow = '#FFFF99'; var orange = '#FFCC99'; var redc = '#AD0000'; var black = '#000000'; var blue = '#0033FF'; var pink = '#FFCCFF'; var lblue = '#DEDDF8'; //ohmibod message / timer var ombMSG = ':ohmibodon01 \n :ohmibod8'; var ombTimer = 4; } } //functions { { function displayRules(user) { var username = ''; if(user) username = user['user']; var notices = '########## ROOM RULES ##########'; for(var i=1; i<=8;i++) { if(cb.settings['rule' + i]) notices += '\nRule #'+ i +': ' + cb.settings['rule'+i]; } cb.sendNotice(notices, username, '', '#0066CC', 'bold'); if(!user || user == null) cb.setTimeout(displayRules, cb.settings.advertisement_wait_time * 60000); } function tipperArrayPopulate(user) { tipperArray[numTippers] = new Array; tipperArray[numTippers][0] = user; tipperArray[numTippers][1] = 0; numTippers++; } function findTipper(user) { //find the index of the user for(var i = 0; i < tipperArray.length; i++) { if(tipperArray[i][0] == user) { break; } } //the user is not in the array. add him and call findTipper if(i == tipperArray.length) { tipperArrayPopulate(user); findTipper(user); } return i; } function kingSpam() { cb.setTimeout(kingSpamTimer,cb.settings.kingTimer*60000); } function kingSpamTimer() { if(kingTip < parseInt(kingMin)) { var supplant = kingMin; } else { var supplant = kingTip + 1; } if(kingTipperSpam == 1) { cb.sendNotice('Tip ' + supplant + ' to become the new King!','',purple); kingSpam(); } } function leaderSpam() { cb.setTimeout(leaderSpamTimer,cb.settings.leaderTimer*60000); } function leaderSpamTimer() { if(leaderboardSpam == 1) { cb.sendNotice(':lunad Top Tippers Today :lunad','',lblue,blue); cb.sendNotice ('\u2654 ' + leaderArray[0][0] + ' : ' + leaderArray[0][1] + ' \n\u2461 ' + leaderArray[1][0] + ' : ' + leaderArray[1][1] + ' \n\u2462 ' + leaderArray[2][0] + ' : ' + leaderArray[2][1] ,'',lblue,blue); leaderSpam(); // \u2665 is a heart } } function hiddenSpam() { if (hiddenTGL == 'off') { return; } cb.setTimeout(hiddenSpamMSG,150000); } function hiddenSpamMSG() { if(cb.limitCam_isRunning() && hiddenTGL == 'on') { cb.sendNotice(hiddenMessage3,'',yellow); hiddenSpam(); } } function tipMenuSpam() { if (tipMenuTGL == 'off') { return; } cb.setTimeout(tipMenuSpamTimer,cb.settings.tipMenuTimer*60000); } function tipMenuSpamTimer() { if(tipMenuTGL == 'on') { cb.sendNotice(tipMenuMSG,'',lblue); tipMenuSpam(); } } function rand01Spam() { cb.setTimeout(rand01SpamTimer,cb.settings.rand01Timer*60000); } function rand01SpamTimer() { if(rand01TGL == 'on') { cb.sendNotice(rand01MSG,'',lblue); rand01Spam(); } } function rand02Spam() { if (rand02TGL == 'off') { return; } cb.setTimeout(rand02SpamTimer,cb.settings.rand02Timer*60000); } function rand02SpamTimer() { if(rand02TGL == 'on') { cb.sendNotice(rand02MSG,'',lblue); rand02Spam(); } } function rand03Spam() { if (rand03TGL == 'off') { return; } cb.setTimeout(rand03SpamTimer,cb.settings.rand03Timer*60000); } function rand03SpamTimer() { if(rand03TGL == 'on') { cb.sendNotice(rand03MSG,'',lblue); rand03Spam(); } } function followSpam() { cb.setTimeout(follow, 190000); } function follow() { cb.sendNotice('Dont forget to :follow','',lblue); followSpam(); } function heartSpam() { cb.setTimeout(heartMSG, 240000); } function heartMSG() { // nabbs edit yellow lblue cb.sendNotice('Tip 10+ to get my moon :lunam -- or Tip 50+ to get my blue moon :lunamb !!!','',lblue); //:w__btgHeart == :lunamb :lunam heartSpam(); } function ombSpam() { if (ombTGL == 'off') { return; } cb.setTimeout(ombSpamTimer,ombTimer*60000); } function ombSpamTimer() { if(ombTGL == 'on') { cb.sendNotice(ombMSG,'','',redc); ombSpam(); } } function autoSilence(user, reason) { if (silenceLIST.indexOf(user) == -1) { silenceLIST = (silenceLIST + (user + ',')); cb.sendNotice('User > ' + user + ' < has been auto-silenced for ' + reason + ' !!', '',purple); } } function userTagArrayPopulate(user) { userTagArray[userTag] = new Array; userTagArray[userTag][0] = user; userTagArray[userTag][1] = ''; userTag++; } function findTag(user) { //find the index of the user for(var i = 0; i < userTagArray.length; i++) { if(userTagArray[i][0] == user) { break; } } //the user is not in the array. add him and call findTag if(i == userTagArray.length) { userTagArrayPopulate(user); findTag(user); } return i; } function warnings(user) { if ((warnLIST.match(user)) && (userTagArray[findTag(user)][1] == 8)){ banName = (user + ','); reason = '3 x violating room rules :taxi ' autoSilence(user, reason); warnLIST = (warnLIST.replace(user, 'x')); userTagArray[findTag(user)][1] = '0'; return; } else if (warnLIST.match(user)){ userTagArray[findTag(user)][1] = '8'; return; } else{ warnName = (user + ','); warnLIST = (warnLIST + warnName); return; } } // HiddenCam - Load the Users into their array from the cb.settings function LoadSettings() { var temp; temp = cb.settings.memberlist; a = temp ? temp.split(',') : ''; for(var i=0; i <= a.length; i++) { if (a[i] != null) cb.limitCam_addUsers([a[i]]); } } function output(message, username) { if (username.length > 0) cb.sendNotice(message, username); else cb.sendNotice(message); } }; } //onMessage { cb.onMessage(function(msg) { //turn the message into an array var message = msg['m'].split(' '); var checkTXT = 0; var insultTXT = 0; var symbolString = '~`!@#$%^&*()_-+={[}]|\\:;"\'<,>.?/'; var messageh = msg['m']; var user = msg['user']; var username = ""; var tmpmsg = msg['m']; var msglength = tmpmsg.length; var isModel = (msg['user'] == cb['room_slug']); var isMod = (msg['is_mod']); var isFan = (msg['in_fanclub']); var isGrey = (!msg['has_tokens']); var bannedUser = (msg['user'] + ','); var spammerRegMSG = new RegExp("xxxxxxxy|" + spammerLIST, "i"); var spammerRegTXT = new RegExp("xxxxxxxy|" + spamTEXT, "i"); tippedMe = parseInt(tipperArray[findTipper(msg['user'])][1]); var uTAG = ''; var tippedTAG = ''; if ((isMod || isModel) && ((message[0].charAt(0) == '/') || (message[0].charAt(0) == '7') || (message[0] == 'th'))){cmd = 1;} if ((isModel) && ((message[0].charAt(0) != '/') && (message[0] != '7th') && (message[0] != 'th'))){tippedTAG = ':lunad ';} if ((isMod) && ((message[0].charAt(0) != '/'))){tippedTAG = (tippedMe > 0 && tippedMe < 50) ? (':lunamb (' + tippedMe + ') ') : ':lunamb ';} if (isFan){tippedTAG = (tippedMe >= 1) ? (':w__gldHeart (' + tippedMe + ') ') : ':w__gldHeart ';} if (tippedMe > 0){ if (user == currentKing){tippedTAG = (':smallCrown (' + tippedMe + ') ');} else if ((tippedMe <= 9) && (!isMod)){tippedTAG = ('(' + tippedMe + ') ');} else if ((tippedMe >= 10) && (tippedMe <= 49) && (!isMod)){tippedTAG = (':lunam (' + tippedMe + ') ');} else {tippedTAG = (':lunamb (' + tippedMe + ') ');} } if (userTagArray[findTag(user)]){ if (isNaN(userTagArray[findTag(user)][1])) { var flextag = userTagArray[findTag(user)][1]; uTAG = ('[' + flextag + '] '); //uTAG = (flextag.charAt[0] == 'x') ? (flextag.replace(/x/g, ' ')) : '[' + flextag + ' ] '; } else { switch(userTagArray[findTag(user)][1]) { case '0':uTAG = '';break; case '1':uTAG = ':w__gldHeart ';break; case '2':uTAG = ':lunamb ';break; case '3':uTAG = '[NiceGuy] ';break; case '4':uTAG = '[sleepy] ';break; case '5':uTAG = '[rude] ';break; case '6':uTAG = '[hatesMods] ';break; case '7':uTAG = '[hatesThommy] ';break; case '8':uTAG = '[warned] ';break; case '9':uTAG = '';break; default:uTAG = ''; } } } if (!isMod && !isModel){ if (msglength >= 300){ mutemsg = true; reason='Message too long'; msg['m'] = "*** Sorry, message too long... Trying to Spam?? ;) ***"; warnings(user); checkTXT = 1; return msg; } if (silenceLIST.indexOf(bannedUser) != -1 && niceLIST.indexOf(bannedUser) == -1) { msg['X-Spam'] = true; output('Sorry ' + user + ' - you have been silenced and can not Chat in this room at the moment!!', user); return msg; } if (!msg['has_tokens'] && greychat == ['off'] && niceLIST.indexOf(bannedUser) == -1) { msg['X-Spam'] = true; output('Sorry ' + user + ' - grey users can not chat for the moment... !!', user); return msg; } if ((tmpmsg.search(/(boobsize|(boob|bra|breast|tit|cup) size|size (bra|boobs|tits)|que tama.o.?|de donde eres|what country *?|where(.?are)?(.?you)? from)/i) != -1)){ msg['m'] = (tippedTAG + uTAG + messageh + ' :arrow_red_left_small Luna says: 54G '); checkTXT = 1; return msg; } if ((tmpmsg.search(/(feetsize|(foot|feet|fet|feets|shoe) size|size (shoe|feet|foot)|que tama.o.?|de donde eres|what country *?|where(.?are)?(.?you)? from)/i) != -1)){ msg['m'] = (tippedTAG + uTAG + messageh + ' :arrow_red_left_small Luna says: Size 12 Mens '); checkTXT = 1; return msg; } if ((tmpmsg.search(/(^leche|^milk\??\b|leche.*?\?|lechera|milky |(have )?(got )?milk.*?\?)/i) != -1)){ msg['m'] = (tippedTAG + uTAG + messageh + ' :arrow_red_left_small Luna says: NO milk!!! :upset '); checkTXT = 1; return msg; } if (((msg['gender'] == 'f')) && ((tmpmsg.search(/((open|visit|click) .* my .* (cam|page|bio|profile)|\. .* \bcom\b|free .* cb .* cams|cam2cam .* chats|open .* (me|my)|(this|that|now|new) slut|whores|recorde|best cb find|cb chats)/i) != -1))){ msg['X-Spam'] = true; insultTXT = 1; adduser = msg['user']; reason = ' *Spam new...*'; autoSilence(adduser, reason); return msg; } if (((tmpmsg.search(/(^:\D+| :\D+)/i) != -1)) && ((tmpmsg.search(/(:tit|:fuck|:doggy|:slut|:penetra|:ass|:nnnn|:vomit|:dick|:suck|:cunts|:vbutt|:nip|:verga|:mastu|:pussy|:boobs|:bitch|:jerk|:image|:cock|:boner|:wank|:cjc|:jr|:gq|:bigsip|:pound|:huge|:applebutt|:fuk|:vagin|:penis|:erotica|:ivo|:poo|:swallo|:soy|:ejac|:cum|:erect|:poll|:bbc|:finger|:gross|:extrem|:clit|:lick|:ets|:tons|:fist|:xxx|:vvv|:milky|:culo|:bigdick|:pico|:sabj|:zwspank|:squirt|:sas|:gfg|:EWmilk|:shaken|:anal|:xruins|:swingcock)/i) != -1))){ graphCS = (messageh.replace(/:/g, '**>>*')); msg['m'] = (tippedTAG + graphCS + " :arrow_red_left_small *** graphic deleted :pff ***"); warnings(user); checkTXT = 1; return msg; } if ((insultTXT == 0) && ((tmpmsg.search(/(\bbitch.?\b|\bslut\b|b1tch|\bwhore\b|\bputa\b|zorra|puti..?a|\bperra\b|carechimba)/i) != -1)) && (tippedMe <= 100)){ msg['m'] = ('HEY ' + user + ' -- Dont be a :dickhead dickhead !!! DONT call Luna a "bitch, whore, slut" or such!!!!'); cb.sendNotice('Original message was: " ' + messageh + ' "', '',purple); adduser = msg['user']; reason = 'insulting the model'; autoSilence(adduser, reason); return msg; } if ((tmpmsg.search(/(\b(poo|fart|fist|poop |pee|vomit|mearte|meate|fisting)\b|toda la mano ?)/i) != -1)){ msg['m'] = (tippedTAG + messageh); checkTXT = 1; output ('LunaBot says: ' + user + ' - dont ask for things against CB Rules please!!! :pff', ''); } if ((tmpmsg.search(/(how many|cu.ntos|4|5) (fingers?|dedos ?)/i) != -1)){ msg['m'] = (tippedTAG + messageh); checkTXT = 1; output ('Luna says: ' + user + ' - i am not an animal... :mellow', ''); } if ((tmpmsg.search(/(ooo|mmm|eee|uuu|nnn|hhh|sss|www){4,}/i) != -1)){ stickyCS = (messageh.replace(/oooooooo|mmmmmmmm|eeeeeeee|uuuuuuuu|nnnnnnnn|hhhhhhhh|ssssssss|wwwwwwww/gi, '|...')); msg['m'] = (tippedTAG + stickyCS + " :arrow_red_left_small *** keyboard broken?? :mellow ***"); checkTXT = 1; return msg; } //if ((tmpmsg.search(/(^live.?|(where)( you?)? .*(live|town|location))/i) != -1)){ // msg['m'] = (tippedTAG + uTAG + messageh); // checkTXT = 1; // output ('Luna says: Read my bio ' + user + ' - it says I'm in outerspace... :smile', ''); // } if ((tmpmsg.search(/(\u200b|\u200c|\u200d|\uFEFF)/i) != -1)){ msg['X-Spam'] = true; adduser = msg['user']; reason = ' *unicode*'; autoSilence(adduser, reason); return msg; } if (!msg['has_tokens']){ if ((tmpmsg.search(/(ChaturTokens|pr.mium ch.at|record (of )?this show|link in my bio|recordingwebcam|camwhores|recorded|tok.ns? (for|4) fr...?|go to www|www ?pr|c h e a t|com ?w.bsite|and gett? fr...|patch.d|chaturbatetokensadder|generator|pkacua|500k Tokens|(check|see|tab|tap|click)( on)? my (profile|bio)|freee? (token|tk)|tk gen|pr0file|free chaturbate token)/i) != -1)){ msg['X-Spam'] = true; adduser = msg['user']; reason = 'spamming'; autoSilence(adduser, reason); return msg; } if ((tmpmsg.search(/(1000 tokens (gift|bonus)|thosedamncow|FastSexNow|all for free!|findsextoday|cam2camchats|CbCam2Cam|ChaturClub|ChaturDates|kikcams|yoursexoutlet|streamingnaked|fuckingdate|18female|erotimo|JoinSexCams|camfun|FreeCam|EllaGo|A M E C A M|kostenlos|kikfuck|MySexFind|aly.sky|freeporn|SwipeGirls|fucktubate|alva.lanus|selling hot pics|webcam23|my wet puss|sweetestbooty|my puss?y is|my clitt? is|getdrugsfast|pornmeds|snapmilfs|Amecam|kikmilf|facebook in|cam2cam with sexy girl|my pussy online|little naked girl|new webcam site|and find (facebook )?link|link to my facebook|link!|profile!)/i) != -1)){ msg['X-Spam'] = true; adduser = msg['user']; reason = 'promoting'; autoSilence(adduser, reason); return msg; } if (spammerRegMSG.test(msg['user']) == true){ msg['X-Spam'] = true; adduser = msg['user']; cb.sendNotice('*** Message from Spammer >' + adduser + '< muted ***','nabbs1',purple); return msg; } if (spammerRegTXT.test(msg['m']) == true){ msg['X-Spam'] = true; adduser = msg['user']; reason = 'spamming(txt)...'; autoSilence(adduser, reason); } if ((tmpmsg.search(/^(open|spread|zoom|twerk|suck|take off?|show me|ass|pussy|tits|feet|naked|boobs)|(open|show|see|take off?) (ur )?(your? )?.*(more|tits?|pussy|boobs?|ass|breast|vagina|feet)/i) != -1)){ msg['m'] = (uTAG + "*** muted for demanding... ***"); warnings(user); return msg; } if ((tmpmsg.search(/(^abre|^muestra|^t.cate|^ense.a|^quita|^mostra|^(aver|deja ver|quiero ver) (tus? |las? |el )(culo|cola|tet|pe.ones|col.ta|pies|va.ina))/i) != -1)){ msg['m'] = (uTAG + "*** borrado por pedir cosas... ***"); warnings(user); return msg; } if ((tmpmsg.search(/((quieres ver mi|mira mi|look my|see my|watch my|like my)(.?big)?(.?hard)?(...?inch)?(.?black)? (cam|dick|cock|bbc|verga|polla)|c2c|my cam is|on cam for|(see |watch |look |see )me (stroking|jerking|mast.rb|playing with my|fingering))/i) != -1)){ msg['m'] = (messageh + ' :arrow_red_left_small Luna says: :nono ***'); checkTXT = 1; warnings(user); return msg; } if ((tmpmsg.search(/((i|am|im)( ?gonna)?( ?wanna)?( ?going to)?( ?will)? (cum|stroking |mast.rb|jerking|playing with )|^cumming|^jerking|^stroking)/i) != -1)){ msg['m'] = (messageh + ' :arrow_red_left_small Luna says: OK then, but do it silently - nobody here cares.... :roll ***'); warnings(user); checkTXT = 1; return msg; } if ((tmpmsg.search(/((i am |i just |im |dick is )(cummed|came|hard |so hard)|me corr|me voy a (correr|venir)|me estoy corr)/i) != -1)){ msg['m'] = (messageh + ' :arrow_red_left_small Luna says: :thumbup Congrats!! / Te felicito!! ***'); warnings(user); checkTXT = 1; return msg; } if ((tmpmsg.search(/(tetazas|cubana|melones|folla|tu cuca|chocho|tetona|tatas)/i) != -1)){ msg['m'] = (uTAG + messageh + ' :arrow_red_left_small :upset Luna dice: NO me hables asi !!! :upset ***'); warnings(user); checkTXT = 1; return msg; } if ((tmpmsg.search(/(hangers|mell?ons|fuck you|tit ?job|airbags|fucking|(wanna |gonna |i will |going to )cum (on |over |between )|cunt|asshole)/i) != -1)){ msg['m'] = (uTAG + messageh + ' :arrow_red_left_small :upset Luna says: DONT talk like this in my room !!! :upset ***'); warnings(user); checkTXT = 1; return msg; } if (checkTXT == 0 && (tmpmsg.search(/(^bb$|\bbb\b|baby|\bbebe\b|babe|\bbby\b| ?mami|mama.ita|\bnena\b|mu.eca|mu.equita)/i) != -1)){ msg['m'] = (messageh + ' :nobbbabe '); return msg; } } if ((tmpmsg.search(/(^pm.?| pm$|\bpm.?|:pm| mp|private message|mensa.e privado)/i) != -1)) { msguser = msg['user']; if (!msg['has_tokens']){ msg['m'] = (messageh + ' :arrow_red_left_small Luna says: Sorry, no PMs, please stop asking.'); return msg; } if (msg['has_tokens'] && tippedMe < 25) { msg['m'] = (tippedTAG + uTAG + messageh); output(cb.room_slug + ' says: sorry ' + msguser + ' - no PMs', ''); return msg; } } } if (userTagArray[findTag(user)][1] && message[0].charAt(0) != "/"){ msg['m'] = (tippedTAG + uTAG + messageh); return msg; } //tip titles, if turned on, as well as king's crown if (message[0].charAt(0) != "/"){msg['m'] = (tippedTAG + uTAG + messageh);return msg;} // HiddenCam - do not let greys chatting when limitCam /*if (cb.limitCam_isRunning() && isGrey && !isMod && !isModel) { msg['X-Spam'] = true; return msg; }*/ // modified if (isModel || isMod || user == 'nabbs1b') { if (messageh == '//start' && !cb.limitCam_isRunning()) { output(cb.room_slug + ' has started the hidden show!',''); cb.limitCam_start(hiddenMessage2); cb.sendNotice(hiddenMessage1,'',yellow); hiddenTGL = 'on'; greychat = 'off'; hiddenSpam(); } if (messageh == '//stop' && cb.limitCam_isRunning()) { output(cb.room_slug + ' has stopped the hidden show!', ''); cb.limitCam_stop(); hiddenTGL = 'off'; greychat = 'on'; } if (messageh == '//clear') { output(cb.room_slug + ' has cleared the hidden-cam users list! Please tip again for the next show!!', ''); cb.limitCam_removeAllUsers(); } if (messageh.substring(0, 8) == '//remove' && cb.limitCam_allUsersWithAccess().length > 0) { username = messageh.substring(9, messageh.length); if (username != 'nabbs1b') { if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) { cb.limitCam_removeUsers([username]); output('Removed: ' + username + ' from the show!', cb.room_slug); } } } if (messageh.substring(0, 5) == '//add') { username = messageh.substring(6, messageh.length); if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) { cb.limitCam_addUsers([username]); output('Added: ' + username + ' to the show!', cb.room_slug); } } if (messageh.substring(0, 7) == '//check') { username = messageh.substring(8, messageh.length); if (cb.limitCam_userHasAccess(username)) {output(username + " is in the show!", cb.roomm_slug);} else {output(username + " is not in the show!", cb.room_slug);} } if (messageh === '//list') { var userlist = cb.limitCam_allUsersWithAccess(); if (userlist.length > 0) output("" + userlist.length + (userlist.length > 1 ? " users" : " user") + " in show: " + cbjs.arrayJoin(userlist, ", "), user); else output("No users in show.",user); } } //End HiddenCam if (isMod || isModel ) //|| user == 'nabbs1b') { //check to see if the user is attempting to use a command //if((message[0].charAt(0) == '/') || (message[0] == '7th') || (message[0] == 'nabbs')) if((message[0].charAt(0) == '/')) { //don't print this message to chat cmd = 1; msg['X-Spam'] = true; switch(message[0]) { case '/clean': { //cb.sendNotice('The 2 videos for 99 token are: "boobs play" and "pussy play" !!\nDont forget to put your email in Tipnote please !! :kissy','',yellow,redc,weight = ['bold']); cb.sendNotice('Cleaning Chat...\n standby...\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n :CleanUp \n\n\n\n\n\n\n\n\n\n\n done, thank you.','',lblue,redc,weight = ['bold']); break; } case '/raffle': { //cb.sendNotice('The 2 videos for 99 token are: "boobs play" and "pussy play" !!\nDont forget to put your email in Tipnote please !! :kissy','',yellow,redc,weight = ['bold']); cb.sendNotice('Raffle tickets!, see bio for info','',lblue,redc,weight = ['bold']); break; } case '/luna': { msg['m'] = ('[secret] ' + messageh); smessage = messageh.substring(5, messageh.length); cb.sendNotice(user + ' :whisper - ' + smessage,cb.room_slug,orange,redc,weight = ['bold']); break; } case '/nabbs': { msg['m'] = ('[secret] ' + messageh); smessage = messageh.substring(6, messageh.length); cb.sendNotice('Luna :whisper - ' + smessage,'nabbs1',orange,redc,weight = ['bold']); cb.sendNotice('Luna :whisper - ' + smessage,'nabbs1b',orange,redc,weight = ['bold']); break; } case '/nabbs1': { msg['m'] = ('[secret] ' + messageh); smessage = messageh.substring(7, messageh.length); cb.sendNotice('Luna :whisper - ' + smessage,'nabbs1',orange,redc,weight = ['bold']); cb.sendNotice('Luna :whisper - ' + smessage,'nabbs1b',orange,redc,weight = ['bold']); break; } case '/mess02TXT': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a new message also.',msg['user'],purple); } else { rand02MSG = msg['m'].substring(11).trim(); cb.sendNotice('You have set the Announcement02 message to: \n' + rand02MSG,msg['user'],purple); } break; } case '/mess02': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter "mess02 on" or "mess02 off"..',msg['user'],purple); } if(message[1] == 'on'){ rand02TGL = 'on'; cb.sendNotice('The Message02 is now ON',msg['user'],purple); rand02Spam(); } if(message[1] == 'off'){ rand02TGL = 'off'; cb.sendNotice('The Message02 is now OFF',msg['user'],purple); } break; } case '/mess03TXT': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a new message for the notifier feature..',msg['user'],purple); } else { rand03MSG = msg['m'].substring(11).trim(); cb.sendNotice('You have set the Announcement03 message to: \n' + rand03MSG,msg['user'],purple); } break; } case '/mess03': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter "mess03 on" or "mess03 off"..',msg['user'],purple); } if(message[1] == 'on'){ rand03TGL = 'on'; cb.sendNotice('The Message03 is now ON',msg['user'],purple); rand03Spam(); } if(message[1] == 'off'){ rand03TGL = 'off'; cb.sendNotice('The Message03 is now OFF',msg['user'],purple); } break; } case '/greys': { if(message[1] == 'on'){ greychat = 'on'; cb.sendNotice('Grey users can chat again now !".',msg['user'],purple); cb.sendNotice('Grey users can chat again now. But - be respectful and follow the Rules!!! :smile','',purple); } if(message[1] == 'off'){ greychat = 'off'; cb.sendNotice('Grey users disabled from chat now !',msg['user'],purple); cb.sendNotice('Sorry, but Grey users are now disabled from chat for a while !!!','',purple); } break; } case '/tipmenu': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter "tipmenu on" or "tipmenu off"..',msg['user'],purple); } if(message[1] == 'on'){ tipMenuTGL = 'on'; cb.sendNotice('The tipmenu is now ON',msg['user'],purple); tipMenuSpam(); } if(message[1] == 'off'){ tipMenuTGL = 'off'; cb.sendNotice('The tipmenu is now OFF',msg['user'],purple); } break; } case '/tipmenuTXT': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a new tip menu..',msg['user'],purple); } else { tipMenuMSG = msg['m'].substring(12).trim(); cb.sendNotice('You have set the Tip Menu to: \n' + tipMenuMSG,msg['user'],purple); } break; } case '/omb': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter "omb on" or "omb off"..',msg['user'],purple); } if(message[1] == 'on'){ ombTGL = 'on'; cb.sendNotice('The Ohmibod-Message is now ON',msg['user'],purple); cb.sendNotice('*** OHMIBOD active !!! ***','','',redc,weight = ['bold']); ombSpam(); } if(message[1] == 'off'){ ombTGL = 'off'; cb.sendNotice('The Ohmibod-Message is now OFF',msg['user'],purple); } break; } case '/addspammer': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a username "/addspammer username"',msg['user'],purple); } banName = ('|' + message[1]); spammerLIST = (spammerLIST + banName); cb.sendNotice('Username > ' + message[1] + ' < added to the Spammer List !!',msg['user'],purple); break; } case '/addtext': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a text "/addtext text"',msg['user'],purple); } btext = msg['m'].substring(9).trim(); banText = ('|' + btext); spamTEXT = (spamTEXT + banText); cb.sendNotice('Text > ' + btext + ' < added to the Bantext-List !!',msg['user'],purple); break; } case '/ban': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a username "/ban username"',msg['user'],purple); } banName = (message[1] + ','); silenceLIST = (silenceLIST + banName); cb.sendNotice('User > ' + message[1] + ' < has been invited to be silent for the rest of the day !!', '',purple); cb.sendNotice('You silenced User ' + message[1] + ' - type "/unban ' + message[1] + '" to unsilence him !!',msg['user'],purple); break; } case '/unban': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a username "/unban username"',msg['user'],purple); } banName = (message[1] + ','); silenceLIST = (silenceLIST.replace(message[1], 'xxxxx')); cb.sendNotice('User > ' + message[1] + ' < is now unsilenced and can chat again !!', '',purple); cb.sendNotice('You have unsilenced User ' + message[1],msg['user'],purple); break; } case '/nice': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a username "/nice username"',msg['user'],purple); } niceName = (message[1] + ','); niceLIST = (niceLIST + niceName); cb.sendNotice('User > ' + message[1] + ' < has been added to be Nice-Greys-List !!', '',purple); cb.sendNotice('You added User ' + message[1] + ' - to the Nice List for today !!',msg['user'],purple); break; } case '/today': { cb.sendNotice('Today (so far) we had ' + numTippers + ' Chatter & ' + tokenstoday + ' Tokens in ' + tipstoday + ' Tips from ' + tippertoday + ' Users.',msg['user'],purple); break; } case '/spammers': { cb.sendNotice('Spammerlist: ' + spammerLIST,msg['user'],purple); break; } case '/sptext': { cb.sendNotice('added Spam-Text: ' + spamTEXT,msg['user'],purple); break; } case '/utag': { if(message[1] == '' || message[1] == null || message[2] == '' || message[2] == null) { cb.sendNotice('You must enter a username and a number for the tag "/utag username tag"',msg['user'],purple); } taguser = message[1]; tagtag = message[2]; userTagArray[findTag(taguser)][1] = tagtag; output('Tagged user ' + userTagArray[findTag(taguser)][0] + ' to: ' + userTagArray[findTag(taguser)][1], user); break; } case '/notice': { if(message[1] == '' || message[1] == null) { cb.sendNotice('You must enter a message also.',msg['user'],purple); } else { noticeTXT = msg['m'].substring(8).trim(); cb.sendNotice(noticeTXT,'','',redc,weight = ['bold']); } break; } case '/hidden': { cb.sendNotice('Are any of the tippers on a tablet or phone?\nThe show for goal will be hidden cam - only tippers can see!! But, hidden cam doesnt work on tablet/phone...','','',redc,weight = ['bold']); break; } } } } }); } //onTip { cb.onTip(function (tip) { if (tipperArray[findTipper(tip['from_user'])][1] == 0){tippertoday++;} tipperArray[findTipper(tip['from_user'])][1] += parseInt(tip['amount']); if(cb.settings.kingTipper == 'Yes') { if(tip['from_user'] != currentKing && parseInt(tipperArray[findTipper(tip['from_user'])][1]) > kingTip && parseInt(tipperArray[findTipper(tip['from_user'])][1]) >= parseInt(kingMin)) { if(currentKing != '') { cb.sendNotice('You have been dethroned by ' + tip['from_user'] + ', but revenge is sweet...', currentKing, purple); } cb.sendNotice('We have a new King!\nCongrats ' + tip['from_user'] + '!','',purple); currentKing = tip['from_user']; kingTip = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } else if(tip['from_user'] == currentKing) { kingTip = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } } if(cb.settings.leaderBoard == 'Yes') { //create an array of the names var nameArray = new Array; for(var i = 0; i < leaderArray.length; i++) { nameArray[i] = leaderArray[i][0]; } //the user is not currently in the top 3 if(!cbjs.arrayContains(nameArray,tip['from_user'])) { if(tipperArray[findTipper(tip['from_user'])][1] > leaderArray[0][1]) { leaderArray[2][0] = leaderArray[1][0]; leaderArray[2][1] = leaderArray[1][1]; leaderArray[1][0] = leaderArray[0][0]; leaderArray[1][1] = leaderArray[0][1]; leaderArray[0][0] = tip['from_user']; leaderArray[0][1] = tipperArray[findTipper(tip['from_user'])][1]; } else if(tipperArray[findTipper(tip['from_user'])][1] < leaderArray[0][1] && tipperArray[findTipper(tip['from_user'])][1] > leaderArray[1][1] || tipperArray[findTipper(tip['from_user'])][1] == leaderArray[0][1]) { leaderArray[2][0] = leaderArray[1][0]; leaderArray[2][1] = leaderArray[1][1]; leaderArray[1][0] = tip['from_user']; leaderArray[1][1] = tipperArray[findTipper(tip['from_user'])][1]; } else if(tipperArray[findTipper(tip['from_user'])][1] < leaderArray[1][1] && tipperArray[findTipper(tip['from_user'])][1] > leaderArray[2][1] || tipperArray[findTipper(tip['from_user'])][1] == leaderArray[1][1]) { leaderArray[2][0] = tip['from_user']; leaderArray[2][1] = tipperArray[findTipper(tip['from_user'])][1]; } } //the user is currently in the top 3 else { //the user is already #1 if(leaderArray[0][0] == tip['from_user']) { leaderArray[0][1] = tipperArray[findTipper(tip['from_user'])][1]; } //the user is #2 and is moving to #1 if(leaderArray[1][0] == tip['from_user'] && tipperArray[findTipper(tip['from_user'])][1] > parseInt(leaderArray[0][1])) { leaderArray[1][0] = leaderArray[0][0]; leaderArray[1][1] = leaderArray[0][1]; leaderArray[0][0] = tip['from_user']; leaderArray[0][1] = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } //the user is #2 and is not moving to #1 else if(leaderArray[1][0] == tip['from_user'] && tipperArray[findTipper(tip['from_user'])][1] <= parseInt(leaderArray[0][1])) { leaderArray[1][1] = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } //the user is #3 and is moving to #2 else if(leaderArray[2][0] == tip['from_user'] && tipperArray[findTipper(tip['from_user'])][1] > parseInt(leaderArray[1][1])) { leaderArray[2][0] = leaderArray[1][0]; leaderArray[2][1] = leaderArray[1][1]; leaderArray[1][0] = tip['from_user']; leaderArray[1][1] = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } //the user is #3 and is moving to #1 else if(leaderArray[2][0] == tip['from_user'] && tipperArray[findTipper(tip['from_user'])][1] > parseInt(leaderArray[0][1])) { leaderArray[2][0] = leaderArray[1][0]; leaderArray[2][1] = leaderArray[1][1]; leaderArray[1][0] = leaderArray[0][0]; leaderArray[1][1] = leaderArray[0][1]; leaderArray[0][0] = tip['from_user']; leaderArray[0][1] = parseInt(tipperArray[findTipper(tip['from_user'])][1]); } //the user is #3 and is not moving else if(leaderArray[2][0] == tip['from_user'] && tipperArray[findTipper(tip['from_user'])][1] <= parseInt(leaderArray[1][1])) { leaderArray[2][1] = tipperArray[findTipper(tip['from_user'])][1]; } if(leaderArray[2][0] == leaderArray[1][0] || leaderArray[2][0] == leaderArray[0][0]) { leaderArray[2][0] = ''; leaderArray[2][1] = 0; } if(leaderArray[1][0] == leaderArray[0][0]) { leaderArray[1][0] = ''; leaderArray[1][1] = 0; } } } if(cb.settings.notifierTip == 'Yes' && parseInt(tip['amount']) >= 2) { if(parseInt(tip['amount']) <= 99) { cb.sendNotice(cb.settings.tipMessage,'',purple); } else if(parseInt(tip['amount']) >= 100 && parseInt(tip['amount']) <= 499) { cb.sendNotice(' :yay2 Thank you so much!! :jlove ','',purple); } else { cb.sendNotice('Thank you very much, ' + tip['from_user'] + ' !! :yipeekiss','',purple); } } //HiddenCam if ((cb.settings.allow_tips > 0) || (cb.settings.allow_tips_before_show > 0)) { if ( (cb.limitCam_isRunning() && parseInt(tip['amount']) >= cb.settings.min_tip_amt && cb.settings.min_tip_amt > 0) || ( (cb.settings.allow_tips_before_show > 0) && !cb.limitCam_isRunning() && parseInt(tip['amount']) >= cb.settings.min_tip_amt && cb.settings.min_tip_amt > 0) || ( (cb.settings.allow_tips_before_show > 0) && !cb.limitCam_isRunning() && tipperArray[findTipper(tip['from_user'])][1] >= cb.settings.min_tip_amt && cb.settings.min_tip_amt > 0)) { if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), tip['from_user'])) { cb.limitCam_addUsers([tip['from_user']]); output('Added: '+ tip['from_user'] + ' to hidden show!', cb.room_slug); output('Thanks -' + tip['from_user'] + ' - you are now added to view hidden shows (if there are any today)!\nPlease understand that hidden shows dont work on Android or iPad !!!', tip['from_user']); } } } tokenstoday += parseInt(tip['amount']); tipstoday ++; }); } //onEnter { cb.onEnter(function(user) { euser = user['user'];//new var enotifyArray = new Array; var enotifyArray = enotifyLIST.split(','); var enotifyTHArray = enotifyTH.split(','); var autoBan = euser + ','; var spammerReg = new RegExp("xxxxxxx|" + spammerLIST, "i"); if (enotifyArray.indexOf(user['user']) != -1) { cb.sendNotice('Has entered > ' + user['user'] + ' < !!!', cb.room_slug,pink,blue,weight = ['bold']); } if ((rudeLIST.indexOf(autoBan) != -1) && (silenceLIST.indexOf(autoBan) == -1)) { silenceLIST = (silenceLIST + autoBan); cb.sendNotice('User > ' + user['user'] + ' < is on the Rude-Users-List and has been auto-silenced !!!', '',purple,black); } if ((rudeBlue.indexOf(autoBan) != -1) && (silenceLIST.indexOf(autoBan) == -1)) { silenceLIST = (silenceLIST + autoBan); cb.sendNotice('User > ' + user['user'] + ' < is on the rude/insulting-Blues-List and has been auto-silenced !!!', '',purple,black); } //if ((euser.search(/puzzy.*fun|wet.*fun|_girl_|_wife_|_real_|hot.*gurl|wetpussy|wetkitty|jennyxx|milfgirl222|petite_jessica|jessicax|katt?gurl|katiexx|kimmyy|camzz?\d+|nastyy?.*camz/i) != -1)) if (spammerReg.test(user['user']) == true){ adduser = user['user']; reason = 'spamming(enter)...'; autoSilence(adduser, reason); } if(enotifyTH.indexOf(user['user']) != -1) { cb.sendNotice(' :panic1 ' + ' Has Entered > ' + user['user'] + ' < !!!', 'nabbs1',pink,blue,weight = ['bold']); } if(cb.settings.notifierEnter == "Yes")//new { cb.sendNotice(cb.settings.enterMessage,user['user'],purple); } { cb.sendNotice('Hello ' + user['user'] + '. Please take a moment to read my bio and room rules before chatting. Thank you!', user['user'], '#CCF5EB', '', 'bold'); displayRules(user); } // HiddenCam - Add Club Members that are not in list if ( ((cb.settings.allow_fanclub == 1) && (user['in_fanclub'] == true)) || ((cb.settings.allow_mods == 1) && (user['is_mod'] == true)) || (user['user'] == 'nabbs1b')) { if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user['user'])) cb.limitCam_addUsers([user['user']]); } }); } //onLeave { cb.onLeave(function(user) { euser = user['user'];//new var enotifyArray = new Array; var enotifyArray = enotifyLIST.split(','); var enotifyTHArray = enotifyTH.split(','); if(enotifyTH.indexOf(user['user']) != -1) { cb.sendNotice('Has left > ' + user['user'] + ' < !!!', 'nabbs1',pink,blue,weight = ['bold']); } }); } //init { if(initialize == 0) { if(cb.settings.kingTipperSpam == 'Yes') { kingTipperSpam = 1; kingSpam(); } if(cb.settings.leaderBoardSpam == 'Yes') { leaderboardSpam = 1; leaderSpam(); } if(cb.settings.tipMenuSpam == 'Yes') { tipMenuTGL = ['on']; tipMenuSpam(); } if(cb.settings.rand01TGL == 'Yes') { rand01TGL = ['on']; rand01Spam(); } if(cb.settings.rand02TGL == 'Yes') { rand02TGL = ['on']; rand02Spam(); } if(cb.settings.rand03TGL == 'Yes') { rand03TGL = ['on']; rand03Spam(); } { displayRules(); } { followSpam(); } { heartSpam(); } { cb.sendNotice('-----------------------------------------\n---Luna Bot v2.0 \n --- by nabbs1\n-----------------------------------------\n'); cb.sendNotice('***** Hello Luna! :shi \nHow are you today? Good Luck!!! \n :hugu ',cb.room_slug,orange,redc,weight = ['bold']); LoadSettings(); var ombTGL = 'off'; var greychat = 'on'; var tokenstoday = 0; var tipstoday = 0; var tippers = 0; } { initialize = 1; } } }
© Copyright Chaturbate 2011- 2024. All Rights Reserved.