Apps Home
|
Create an App
delete test
Author:
loulouw
Description
Source Code
Launch App
Current Users
Created by:
Loulouw
/***** Cleaned - stric minimum : version mini Derniere mise à jour : 17 mai 2018 *****/ cb["settings_choices"] = [{ name: "fanTags", label: "Fan Club: Paste the export result from the '/fan export' here.", type: "str", minLength: 1, maxLength: 9999, required: false }, { name: "loungeTags", label: "Lou\'Nge Club: Paste the export result from the '/lounge export' here.", type: "str", minLength: 1, maxLength: 9999, required: false }] var ISACTIVE ={ test: false, basicMenu: false, basicMenu1: false, basicMenu2: true, dailyCamMenu: false, showCamMenu: false, lushMenu: true, groupShowOn: false, groupShowNext: false, groupShowLast: false, } var INPROGRESS ={ showGroup: true, dailyCam: false, showCam: false } var STOP = { groupShow: false, gs: true, } var broadcastEndHour = 04// UTC var broadcastEndHourF = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), broadcastEndHour, 00) { /** global var **/ var today = new Date() var botTrigger ="lb" var name var disc1 = 0.15 var disc2 = 0.20 // OPTION : discount for fan who joined 6 consecutives month ou autre chose a determiner var disc3 = 0.30 // OPTION : discount for fan who joined 12 consecutive month ou autre chose a determiner var allHit = 0 var allTipAmount = 0 var lushMenuHit = 0 var flashMenuHit = 0 var hcTipMenuList = '' //var lushMenuList = '' var basicTipMenuList = '' var fanTipMenuList = '' var hightBasicTipper = 1618 var hightBasicTipperName = 'anoerbal' // anoerbal:1618 var sheduleCam1 = { amount:[], perform:[] } var modelName = cb.room_slug var lushMenusControl_rotateTime = 10 var basicMenusControl_rotateTime = 10 //6 var hasDaillyHC_accesforBasic = false // Daily HiddenCan acces for life var hasShowAndDaillyHC_discountForLife = false // discount on hiddenCam show ticket { /** Arrays **/ var lushMenuArray = { amount:[2, 20, 35, 50], perform:["2 sec Low vibes", "5 sec Medium vibes", "5 sec Hight vibes", "5 sec Ultra vibes"], statSec:[0, 0, 0, 0], statTok:[0, 0, 0, 0], statHit:[0, 0, 0, 0] } /* Basic zone */ var basicMenuArray = { // 15 : hand spank // 42 : 30 sec. melt'eye // 54 : 30 sec. out'tongue // 66 : 30 sec. suck finger // 72 : 30/60 sec. boobies // 84 : 30/60 sec. kitty // 96 : 30/60 sec. booty // 162 : 120 sec. Lick, suck fingers // 164 : 120 sec. Lick, jiggle, pinch boobies // 202 : 120 sec. Spread, rub kitty // 204 : 120 sec. BJ dildo // 282 : 120 sec. Spread, rub kitty and lick, suck fingers // 284 : 120 sec. Spread, rub kitty and lick, jiggle, pinch boobies // 362 : 120 sec. Spread, rub kitty and BJ dildo amount:[6, 42, 54, 66, 72, 84, 96, 162, 164, 202, 204, 282, 284, 362], //6 - 10//15 - 42 perform:["Hand spank", "FLASH 30sec : Melt'Eye", "FLASH 30sec : Out'Tongue", "FLASH 30sec : Suck'finger", "FLASH 60sec : Boobies", "FLASH 60sec : Kitty", "FLASH 60sec : Booty", "TEASE 120sec : Lick, suck fingers", "TEASE 120sec : Lick, jiggle, pinch boobies", "TEASE 120sec : Spread, rub kitty", "TEASE 120sec : BJ dildo", "TEASE 120sec : Spread, rub kitty and lick, suck fingers", "TEASE 120sec : Spread, rub kitty and lick, jiggle, pinch boobies", "TEASE 120sec : Spread, rub kitty and BJ dildo" ], statSec:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], statHit:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], } var basicMenuArray1 = { // 15 : hand spank // 42 : 30 sec. melt'eye // 54 : 30 sec. out'tongue // 66 : 30 sec. suck finger // 72 : 30/60 sec. boobies // 84 : 30/60 sec. kitty // 96 : 30/60 sec. booty // 162 : 120 sec. Lick, suck fingers // 164 : 120 sec. Lick, jiggle, pinch boobies // 202 : 120 sec. Spread, rub kitty // 204 : 120 sec. BJ dildo amount:[15, 42, 54, 66, 72, 84, 96, 162, 164, 202, 204], perform:["Hand spank", "Melt'Eye", "Out'Tongue", "Suck'finger", "Boobies", "Kitty", "Booty", "Lick, suck fingers", "Lick, jiggle, pinch boobies", "Spread, rub kitty", "BJ dildo"], info:["SPANK : ", "TEASE 60 sec : ", "TEASE 60 sec : ", "TEASE 60 sec : ", "FLASH 60 sec : ", "FLASH 60 sec : ", "FLASH 60 sec : ", "TEASE 120 sec : ", "TEASE 120 sec : ", "TEASE 120 sec : ", "TEASE 120 sec : "], statSec:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], statHit:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], } var basicMenuArray2 = { amount:[1, 22, 53, 65, 95, 115, 234, 250, 789], perform:["Tipnote", "PM to discuss PRIVATE expectations", "Suck'finger", "Flash Boobies", "Flash Kitty", "Flash Booty", "Watch your cam 5 minutes", "Control lush 5 minutes"], info:[0, 300, 60, 60, 60, 60, 300, 300], statSec:[0, 0, 0, 0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0, 0, 0, 0], statHit:[0, 0, 0, 0, 0, 0, 0, 0], } /*var basicTippersArray = { user:["pierre", "paul", "owen", "jo"], menuAmount:[2, 6, 4, 6], lushAmount:[0, 0, 0, 0], supportAmount:[20, 40, 0, 0], sumAmount:[22, 46, 4, 6], }*/ var basicTippersArray = { user:[], menuAmount:[], lushAmount:[], supportAmount:[], sumAmount:[], } var hc_basicAccesArray = { user:[], amount:[] } /* Fan zone */ var fanMenuArray = { amount:[], perform:[], statSec:[], statTok:[], statHit:[] } var specialFanMenuArray = { // special perfoms for fan member amount:[15], perform:["Silence the room OR Lou for 30 minutes (exept mods and Lou for first choice)"], // c'est juste un exemple : et ca peut etre marant mais ca peut faire fuir aussi !!!! ou bien ...faut tipper pour chatter. statSec:[0], statTok:[0], statHit:[0] } var fanTippersArray = { user:[], menuAmount:[], lushAmount:[], supportAmount:[], } var hc_fanAccesArray = { user:[], amount:[] } var hc_discountForLifeArray = { // on push le fan à vie dans cette array (si il n'est plus fan par la suite il sera toujours ici// cette array devra etre exporter en fin de broadcast user:[] } var fanListArray = { // array importante : tous les fans (ancien*qui ont ete mais ne sont pas ou plus fan*), actuel et futurs ont 15% a vie sur les hiddenCam (Show et dailly) tickets ) user:["jo","lou5"], aboCons:[12,12], // ne pas exploiter pour le moment aboSum:[18,18], // ne pas exploiter pour le moment aboDate:["20 apr 2018 07:41", "20 apr 2018 07:41"] // verifier la date d'abonnement dans les stats CB // ne pas exploiter pour le moment } var openToFanArray = { user:[] } var camMenuArray = {//.toDateString() amount:[20, sheduleCam1["amount"][0]], perform:["HiddenCam dailly tkt", sheduleCam1["perform"][0]+" - HiddenCam show tkt"] } var showCamTktHoldersArray = { lun:[], mer:[], ven:[] } /* ?? for ?? */ var loungeArray = { user:["joe"], actualPlan:[6], expDate:["20 apr 2018 07:41"] // verifier la date d'abonnement dans les stats CB, } var plans25Array = { // ces users beneficient de 25% discount |sur hidden cam show tkt :à vie| sur le tip menu : selon la durée du plan| user:["joe", "owen1", "owen2"], plan1:[0, 1, 1], // hits / fan club plan6:[6, 0, 2], // hits / lou'Nge club 6 months plan12:[1, 0, 0], // hits / lou'Nge club 12 months plan240:[0, 0, 1] // hits / lou'Nge club for life } var plans50Array = { user:[], months:[] } } { /** Emo **/ var emoFlash = '\u{26A1}' var emoFeet = '\u{1F463}' var emoKitty = '' var emoTease1 = '\u{1F525}' var emoTease2 = '\u{1F525}\u{1F525}' var emoAsterix = '\u{2733}' var emoBlackCircle = '\u26AB' var emoBlackCirclex3 = '\u26AB \u26AB \u26AB' var emoBigDash = '\u{2796}' var emoStayClassy = ':classytip' var emoDash = '\u{2014}' var emoDashWave = '~' var emoForbid = '\u{1F6AB}' var emoGiroGreen = ':ml-gl' ; var emoGiroblue = ':ml-bl'; var emoGiroRed = ':ml-rl'; var emoGiroYellow = ':ml-yl' var emoPushPin = '\u{1F4CC}' var emoWarning = ':alert1'; var emoWarning1 = '[!]'; var emo3Warning = '[!] [!] [!]' var emotiret = '\u{2027}' var emo4pointBare = '\u{205E}' var emo3pointBare = '\u{205D}' var emoAsterixBare = '\u{2051}' var emoAsterixTriangle = '\u{2042}' var emoSmallSuperiorSign = '\u{203A}' var emoStar = '::' ; var emoStar3 = ':::' // var emoStar = '\u2605' ; var emoStar3 = '\u2605 \u2605 \u2605' var emoSpace = '\u00A0' var emo1 = '\u{203B}' var emo2 = '\u{205C}' var emo3 = ':' } { /** Palette **/ var palette = "spring" var errorBGCol = '#FA8072' var color_BCmenu = "" var color_tip = "" var backColor_tip = "" var loungeBackColor = "" if(palette == "spring") { color_BCmenu = "#ff3399" //#cccc00/#ffcc66/#d96459 color_tip = "#ffff33" // jaune fluo #ffff33 backColor_tip = "#000000" // vert fluo #16b201 // rose fluo #e5006e loungeFanBackColor = "linear-gradient(to right, #ffffff 15%, #66ff33 50%, #cc66ff 100%)" loungeBackColor = "linear-gradient(to right, #ffffff 15%, #cc66ff 100%)" // 6 or 12 month } if(palette == "summer") { color_BCmenu = "" // } if(palette == "autumn") { color_BCmenu = "" } if(palette == "winter") { color_BCmenu = "#479ead" color_Tip = "#344b4f" backColor_tip = "#479ead" loungeBackColor = "" } } { var roomRules = '' +emo3Warning+' \n' +emoWarning1+' Please, no pet name like bb, honey, etc...my name is Lou, \n' +emoWarning1+' No directing, No demanding \n' +emoWarning1+' No sexual gif, \n' +emoWarning1+' Keep dirty talk, thought in tipnotes, \n' +emoWarning1+' No anal, squirt, \n' +emoWarning1+' EXPLICIT SHOW ONLY IN GROUPSHOW or PRIVATE. \n' +emoWarning1+' C2C with PRIVATE. \n' +emo3Warning } { var groupRules = '' +emo3Warning+' \n' +emoWarning1+' GROUP SHOW INFO : \n' +emoWarning1+' The only place where I blowjob dildo, spread rub, finger dildo (whith NORA) my kitty' +emoWarning1+' NORA vibes only with your tip : 2 sec low vibes (2) - 5 sec medium vibes (20) - 5 sec high vibes (35) - 5 sec ultra vibes (50) \n\n' +emoWarning1+' Schedule: 1 GROUP SHOW per hour from hh:30 to hh:40 or hh:45.\n' +emoWarning1+' No directing me, \n' +emoWarning1+' Sexual (no rude, no groass) gif allowed but do NOT spam the room with it !, \n' +emoWarning1+' Keep all dirty (demand, talk, thought) in tipnotes, \n' +emoWarning1+' No anal, c2c, opening cam, \n' +emoWarning1+' EXPLICIT SHOW ONLY IN GROUPSHOW. \n' +emo3Warning } { var helpNotice = " may use the following commands:\n" + botTrigger + " spamhelp = show spam filter help\n\n" + "LUSH \n" + botTrigger + " /lushmenu [on] [t] = [on]: Start the public rotating menu with lush. [t] (optional): Set the rotating time in minutes. (10 by default) \n" + botTrigger + " /lushmenu [off] = [Stop] the public rotating menu with lush\n" + botTrigger + " /lushmenu [check] = [Check] if lush is active.\n\n" + botTrigger + " useradd [family] [username] = add username to level\n" + botTrigger + " userdel [family] [username] = delete username from level\n" + botTrigger + " check [username] = show what level a user is in\n" + botTrigger + " mods [on/off] = turns on/off mod commands\n" + botTrigger + " greyemotes [on/off] = turns on/off grey emotes\n" + botTrigger + " tag [tag text] = set your own tag\n" + botTrigger + " settag [username] [tag text] = set a user\'s tag\n" + botTrigger + " note [message] = send a public message to chat\n" + botTrigger + " melnote [message] = send a private message to mel\n" + botTrigger + " modnote [message] = send a private message to mods\n" + botTrigger + " greets [on/off] = turns on/off level user greetings\n" + botTrigger + " tipps = show all tips (private) NEW\n" + botTrigger + " tipps # = show top # tips (private)NEW\n" + botTrigger + " tips = show all tippers (private)\n" + botTrigger + " tips # = show top # tippers (private)\n" + botTrigger + " paint [username] [text] [bg] = change a user\'s colors\n" + botTrigger + " colors [text] [bg] = change text and bg color\n" + botTrigger + " colors rest = reset colors to b/w\n" + botTrigger + " text [color] = change text color\n" + botTrigger + " bg [color] = change background color\n" + botTrigger + " status = show bot status\n" + "*** NOTE: To make names stick add them in the bot config." } } var hiddenShowTitleGoal = "Hidden Cum show" var hiddenShowAmountGoal = 5 var finBC = 23 var groupShowEpoch2 = 0 var dureeGroupShow = 10 var finGroupShowSession = 40 var tknMin = 24 function fc_notifyRules2() { // garde t = 3 function rule1() { cb.chatNotice(emoWarning+' Rules, lush and public menu are in my bio.', '', '', '#99006b', 'bold') } function rule2() { cb.chatNotice(emoStayClassy, '', '', '', 'bold') } function rule3() { if(hightBasicTipperName != '') { hightBasicTipper2 = hightBasicTipper + 1 cb.chatNotice(':crownbecca Beat '+ letrine(hightBasicTipperName)+' high tip of '+hightBasicTipper2+' tokens and be my new king ! '+emoSpace, '', '', '#99006b', 'bold') } else { cb.chatNotice(':crownbecca Tip 500 tokens to be the king ! '+emoSpace, '', '', '#99006b', 'bold') } } function rule4() { cb.chatNotice(emoWarning+'PRIVATE opens @ 15:30 UTC/GMT '+emoSpace, '', '', '#99006b', 'bold') } //function rule3() { cb.chatNotice('Dont complain when you didnt even participate', '', '', '', 'bold') } //cb.setTimeout(rule1) cb.setTimeout(rule1 , t*1*60000) cb.setTimeout(rule2 , t*2*60000) cb.setTimeout(rule3 , t*3*60000) cb.setTimeout(rule4 , t*4*60000) //cb.setTimeout(fc_notifyRules2 , t*4*60000) cb.setTimeout(fc_notifyRules2 , t*4*60000) } function roomRulesControl() { cb.chatNotice(roomRules, '', '', '', 'bold') cb.setTimeout(roomRulesControl, 10 * 60000) } function lushMenusControl() { // ok garde var lushMenuList = '' if(ISACTIVE["lushMenu"]) { for (i = 0; i < lushMenuArray["amount"].length; i++){ lushMenuList += emoStar+' '+lushMenuArray["perform"][i]+' ('+lushMenuArray["amount"][i]+') ' } //+'\n'+ new Date().toUTCString() cb.chatNotice(emoStar3+' LUSH/NORA MENU '+emoStar3+' \n '+lushMenuList+ '\n '+emoStar3, '', '', color_BCmenu, 'bold') } cb.setTimeout(lushMenusControl, 10 * 60000) } function basicMenusControl() { // ok garde tipMenuList1 = '' tipMenuList13 = '' tipMenuList46 = '' tipMenuList710 = '' var tipMenuList = '' if(ISACTIVE["basicMenu2"]) { //+'\n'+ new Date().toUTCString() for (i = 0; i < basicMenuArray2["amount"].length; i++){ /*if(i >= 0 && i <=4) { tipMenuList13 += emoBlackCircle+' '+basicMenuArray2["perform"][i]+' ('+basicMenuArray2["amount"][i]+') ' } if(i >= 5 && i <=6) { tipMenuList46 += emoBlackCircle+' '+basicMenuArray2["perform"][i]+' ('+basicMenuArray2["amount"][i]+') ' }*/ tipMenuList += emoStar+' '+basicMenuArray2["perform"][i]+' ('+basicMenuArray2["amount"][i]+') ' } //tipMenuList += emoBlackCircle+' [Public menu] : \n '+tipMenuList13+' \n '+tipMenuList46 cb.chatNotice(emoStar3+' PUBLIC MENU '+emoStar3+' \n '+tipMenuList+' \n'+emoStar3, '', '', color_BCmenu, 'bold') } cb.setTimeout(basicMenusControl, 10 * 60000) } function releaseTimeouts() { divStr = makeDiv(emo3,90,90) currentEpoch = (new Date).getTime(); if (groupShowEpoch2 > 0) { if (groupShowEpoch2 < currentEpoch) { //groupShowEpoch = groupShowEpoch2 + (dureeGroupShow*60000) groupShowEpoch2 = 0; //cb.sendNotice('[BY BY ! ]', '', '', '', '', '') } else { var tmpNextGroupShowTime = nextGroupShowTimeRemain(groupShowEpoch2); currentHrs = new Date(currentEpoch).getHours() currentMin = new Date(currentEpoch).getMinutes() currentSec = new Date(currentEpoch).getSeconds() nextHrs = currentHrs + 1 divStr = makeDiv(emo3,93,93) headTitle = divStr+'\n' + '\u00A0 \u00A0 :grouphow2 \n' + '\u00A0 \u00A0 The only place where I spread rub, finger and dildo my kitty.\n' //+ '\u00A0 \u00A0 Group room is open. Join Group Show 24 tks/min. \n' //+ divStr+'\n' currentMin == 0 ? remainMin = 30 : currentMin == 5 ? remainMin = 25 : currentMin == 10 ? remainMin = 20 : currentMin == 15 ? remainMin = 15 : currentMin == 20 ? remainMin = 10 : currentMin == 25 ? remainMin = 5 : currentMin == 30 ? remainMin = 0 : currentMin == 35 ? remainMin = 55 : currentMin == 40 ? remainMin = 50 : currentMin == 45 ? remainMin = 45 : currentMin == 50 ? remainMin = 40 : currentMin == 55 ? remainMin = 35 : remainMin = 0 if (currentSec == 0) { //if (tmpNextGroupShowTime.getSeconds() > 0) { if(currentMin == 0 || currentMin == 5 || currentMin == 10 || currentMin == 15 || currentMin == 20 || currentMin == 25) { // de 5 a 20 memberCoast = tknMin * dureeGroupShow //output = '('+currentMin+') GroupShow\'s room will open '+dureeGroupShow+' minutes @ '+currentHrs+':30 UTC/GMT ('+remainMin+' minutes remaining) \n' output = 'It remains '+remainMin+' minutes befor explicit show starts in GroupShow. ' //+dureeGroupShow+' minutes. ' //+ '('+memberCoast+' t)' if (currentMin == 25){ //+dureeGroupShow+' minutes. ' //+ '('+memberCoast+' t)' cb.sendNotice(output, '', '', '#383d91', 'bold') // bleu bold } else { cb.sendNotice(output, '', '', '#383d91', '') // bleu } } if(currentMin == 30 || currentMin == 35 || currentMin == 40 || currentMin == 45) { memberRemainCoast = tknMin * fc_groupShowTimeRemain(currentMin) if (fc_groupShowTimeRemain(currentMin) > 0) { output = divStr+'\n' + '\u00A0 \u00A0 Join the GroupShow for Spread, rub, finger and dildo kitty show. \n' + '\u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 ' + 'It remains '+fc_groupShowTimeRemain(currentMin)+' minutes before it ends. \n ' + divStr //+ '( '+memberRemainCoast+' t)' cb.sendNotice(output, '', '', '#383d91', 'bold') // bleue bold == } else if(fc_groupShowTimeRemain(currentMin) == 0) { // le show vient de finir output = divStr+'\n' + '\u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 \u00A0 ' + 'Groupshow time\'s up ! \n ' + divStr cb.sendNotice(output, '', '', '#d60202', 'bold') // rouge bold == if(nextHrs == finBC) { groupShowEpoch2 = 0 cb.sendNotice('No more GroupShow in this broadcast.', modelName, '#d8d8d8', '#913838', 'bold') // rouge } } else if (fc_groupShowTimeRemain(currentMin) < 0) { //le show est fini depuis + 5 minute output = 'It remains '+remainMin+' minutes befor explicit show starts in GroupShow. ' cb.sendNotice(output, '', '', '#383d91', '') // bleu } } if(currentMin == 50 || currentMin == 55) { if(nextHrs == finBC) { groupShowEpoch2 = 0 cb.sendNotice('No more GroupShow in this broadcast.', modelName, '#d8d8d8', '#913838', 'bold') // rouge } else { //output = '('+currentMin+') GroupShow\'s room will open '+dureeGroupShow+' minutes @ '+nextHrs+':30 UTC/GMT ('+remainMin+' minutes remaining)' output = 'It remains '+remainMin+' minutes befor explicit show starts in GroupShow. ' cb.sendNotice(output, '', '', '#383d91', '') // bleu } } } } } cb.setTimeout(releaseTimeouts, 1 * 1000); // 1000 pour rafraichir chaque seconde } function nextGroupShowTimeRemain(groupShowEpoch2) { // Temps restant avant le prochain GS show ok garde var timeObj = new Date(0); currentEpoch = (new Date).getTime(); //or currentTime timeObj.setMilliseconds(groupShowEpoch2 - currentEpoch); return timeObj; } function fc_groupShowTimeRemain(currentMin) { // durée du GS show // ok garde var remainDureeGroupShow = 0 remainDureeGroupShow = finGroupShowSession - currentMin return remainDureeGroupShow } function fc_tipperStat(toDo, name, tipAmount, toArray) { // keep // cb.chatNotice à cacher switch(toDo) { case "spliceBasic": // Basic user already exist id = basicTippersArray["user"].indexOf(name) basicTippersArray["sumAmount"][id] += tipAmount if (toArray == 'menuAmount'){ basicTippersArray["menuAmount"][id] += tipAmount if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat spliceBasic ok '+name+' and '+tipAmount+' tks for menu purchase. Total:'+basicTippersArray["menuAmount"][id]) } } //else if (typeof toArray === 'lushAmount'){ else if (toArray == 'lushAmount'){ basicTippersArray["lushAmount"][id] += tipAmount if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat spliceBasic ok '+name+' and '+tipAmount+' tks for lush purchase. Total:'+basicTippersArray["lushAmount"][id]) } } //else if (typeof toArray === 'undefined'){ // typeof : vérifie le type d'une variable //else if (typeof toArray === 'supportAmount'){ else if (toArray == 'supportAmount'){ basicTippersArray["supportAmount"][id] += tipAmount if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat spliceBasic ok '+name+' and '+tipAmount+' tks for support. Total:'+basicTippersArray["supportAmount"][id]) } } break case "pushBasic": // New basic user basicTippersArray["user"].push(name) basicTippersArray["sumAmount"].push(tipAmount) if (toArray == 'menuAmount'){ // New TipMenu purchase basicTippersArray["menuAmount"].push(tipAmount) basicTippersArray["supportAmount"].push(0) basicTippersArray["lushAmount"].push(0) if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat pushBasic ok '+name+' and '+tipAmount+' tks for menu purchase. Total:'+tipAmount) } } //else if (typeof toArray === 'lushAmount'){ else if (toArray == 'lushAmount'){ basicTippersArray["lushAmount"].push(tipAmount) basicTippersArray["menuAmount"].push(0) basicTippersArray["supportAmount"].push(0) if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat pushBasic ok '+name+' and '+tipAmount+' tks for lush purchase. Total:'+tipAmount) } } //else if(typeof toArray === 'undefined'){ //New support // typeof : vérifie le type d'une variable //else if (typeof toArray === 'supportAmount'){ else if (toArray == 'supportAmount'){ basicTippersArray["supportAmount"].push(tipAmount) basicTippersArray["menuAmount"].push(0) basicTippersArray["lushAmount"].push(0) if(ISACTIVE["test"]) { cb.chatNotice('just for test - fc_tipperStat pushBasic ok '+name+' and '+tipAmount+' tks for support Total:'+tipAmount) } } break case "spliceFan": // Fan already exist id = fanTippersArray["user"].indexOf(name) if (typeof perform === 'undefined'){ // typeof : vérifie le type d'une variable fanTippersArray["supportAmount"][id] += tipAmount //cb.chatNotice('just for test - fc_tipperStat spliceFan ok '+name+' and '+tipAmount+' tks for support. Total:'+fanTippersArray["supportAmount"][id]) } else { fanTippersArray["menuAmount"][id] += tipAmount // ce qu'il a dépensé est splicé dans l'array //cb.chatNotice('just for test - fc_tipperStat spliceFan ok '+name+' and '+tipAmount+' tks for menu purchase. Total:'+fanTippersArray["menuAmount"][id]) } break case "pushFan": // New Fan fanTippersArray["user"].push(name) if (typeof perform === 'undefined'){ // typeof : vérifie le type d'une variable fanTippersArray["supportAmount"].push(tipAmount) fanTippersArray["menuAmount"].push(0) //cb.chatNotice('just for test - fc_tipperStat pushFan ok '+name+' and '+tipAmount+' tks for support Total:'+tipAmount) } else{ fanTippersArray["menuAmount"].push(tipAmount) fanTippersArray["supportAmount"].push(0) //cb.chatNotice('just for test - fc_tipperStat pushFan ok '+name+' and '+tipAmount+' tks for menu purchase. Total:'+tipAmount) } break } /** KING **/ id = basicTippersArray["user"].indexOf(name) if (basicTippersArray["user"][id] != hightBasicTipperName && basicTippersArray["sumAmount"][id] >= 500 && basicTippersArray["sumAmount"][id] > hightBasicTipper) { if (hightBasicTipperName != '') { cb.chatNotice(hightBasicTipperName+', you have been detroned !'+emoSpace, hightBasicTipperName, '#deecf4') } hightBasicTipper = basicTippersArray["sumAmount"][id] hightBasicTipperName = basicTippersArray["user"][id] cb.chatNotice(':crownbecca '+hightBasicTipperName.toUpperCase()+' is the new tipper king ! '+ emoSpace, '', '#deecf4') } else if (basicTippersArray["user"][id] == hightBasicTipperName) { hightBasicTipper = basicTippersArray["sumAmount"][id] } } function fc_showTipperStat() { output = '' //basicTippersArray["sumAmount"].sort(function(a, b){return b - a}) for (i = 0; i < basicTippersArray["user"].length; i++){ output += '\n L:'+basicTippersArray["lushAmount"][i]+'|M:'+basicTippersArray["menuAmount"][i]+'|S:'+basicTippersArray["supportAmount"][i]+' ['+basicTippersArray["sumAmount"][i]+'] '+emoBlackCircle+' '+basicTippersArray["user"][i] } list = 'TIPPER STAT :' +output cb.chatNotice(list, modelName) } function fc_menuStat(toDo, tipAmount, i) { //ok garde // ancien fc_rha switch(toDo) { case "basicMenu": basicMenuArray["statTok"][i] += tipAmount // incremente tks dans array basicMenuArray["statHit"][i] += 1 // increment nombre de hit if (i == 0) { basicMenuArray["statSec"][i] += 1 // increment nombre de sec } else if ( i >= 1 && i <= 3) { basicMenuArray["statSec"][i] += 30 // increment nombre de sec } else if ( i >= 7 && i <= 13) { basicMenuArray["statSec"][i] += 120 // increment nombre de sec } else { basicMenuArray["statSec"][i] += 60 // increment nombre de sec } break case "basicMenu2": basicMenuArray2["statTok"][i] += tipAmount // incremente tks dans array basicMenuArray2["statHit"][i] += 1 // increment nombre de hit //basicMenuArray2["statSec"][i] += 60 // increment nombre de sec if (i == 0) { basicMenuArray2["statSec"][i] += 0 // increment nombre de sec } else if (i == 1) { basicMenuArray2["statSec"][i] += 300 // increment nombre de sec } else { basicMenuArray2["statSec"][i] += 60 // increment nombre de sec } break case "lushMenu": lushMenuArray["statTok"][i] += tipAmount lushMenuArray["statHit"][i] += 1 if (i == 0) { lushMenuArray["statSec"][i] += 2 } else { lushMenuArray["statSec"][i] += 5 } break } } function fc_showStat(toDo) { // keep // affiche uniquement sur le mur du model // 1ere version basicMenu_sec = basicMenuArray2["statSec"].reduce(toSum, 0) basicMenu_hit = basicMenuArray2["statHit"].reduce(toSum, 0) basicMenu_tok = basicMenuArray2["statTok"].reduce(toSum, 0) fanMenu_sec = fanMenuArray["statSec"].reduce(toSum, 0) fanMenu_hit = fanMenuArray["statHit"].reduce(toSum, 0) fanMenu_tok = fanMenuArray["statTok"].reduce(toSum, 0) basicSupport_tok = basicTippersArray["supportAmount"].reduce(toSum, 0) fanSupport_tok = fanTippersArray["supportAmount"].reduce(toSum, 0) lush_sec = lushMenuArray["statSec"].reduce(toSum, 0) lush_hit = lushMenuArray["statHit"].reduce(toSum, 0) // or lushMenuHit lush_tok = lushMenuArray["statTok"].reduce(toSum, 0) basicLush_tok = basicTippersArray["lushAmount"].reduce(toSum, 0) fanLush_tok = fanTippersArray["lushAmount"].reduce(toSum, 0) ttl_sec = basicMenu_sec + fanMenu_sec + lush_sec ttl_hit = basicMenu_hit + fanMenu_hit + lush_hit ttl_tok = basicMenu_tok + fanMenu_tok + lush_tok outputPublicM = '------- Stats : Public Tip Menu ------- ' outputFanM = '------- Stats : Fan Tip Menu ------- ' outputLushM = '------- Stats : LUSH ------- : Activ' outputSupport = '------- Stats : SUPPORT ------- ' //allHit = ++allHit //allTipAmount = ++tipAmount allOutMenuHit = allHit - ttl_hit allOutMenuTok = allTipAmount - ttl_tok // **** Basic Menu // for (i = 0; i < basicMenuArray2["statTok"].length ; i++) { outputPublicM += '\n'+basicMenuArray2["statHit"][i]+' hits | '+basicMenuArray2["statSec"][i]+' sec | '+basicMenuArray2["statTok"][i]+' tks '+emoBlackCircle+' '+basicMenuArray2["perform"][i] } // **** Fan Menu // for (i = 0; i < fanMenuArray["statTok"].length ; i++) { outputFanM += '\n'+fanMenuArray["statHit"][i]+' hits | '+fanMenuArray["statSec"][i]+' sec | '+fanMenuArray["statTok"][i]+' tks '+emoBlackCircle+' '+fanMenuArray["perform"][i] } // **** Lush Menu // if(ISACTIVE["lushMenu"]) { for (i = 0; i < lushMenuArray["statTok"].length ; i++) { outputLushM += '\n'+lushMenuArray["statHit"][i]+' hits | '+lushMenuArray["statSec"][i]+' sec | '+lushMenuArray["statTok"][i]+' tks '+emoBlackCircle+' '+lushMenuArray["perform"][i] } /*outputLushM += ' \n? hits | ? sec | '+basicLush_tok+' tks '+emoBlackCircle+' Lush from Basic' + ' \n? hits | ? sec | '+fanLush_tok+' tks '+emoBlackCircle+' Lush from Fans' + ' \n '+lush_hit+' hits | '+lush_sec+' sec | '+lush_tok+' tks [Total LUSH (Fan and Basic)] = '+(lush_tok*0.05).toFixed(2)+' $ to model \n'*/ } else{ outputLushM = '------- Stats : LUSH ------- : NO Activ' } cb.chatNotice('' // support + outputSupport+ ' \n'+allOutMenuHit+' hits | x sec | '+basicSupport_tok+' tks '+emoBlackCircle+' Basic Support ' //+ '\n? hits | x sec | '+fanSupport_tok+' tks '+emoBlackCircle+' Support from fans' + '\n'+allOutMenuHit+' hits | x sec | '+allOutMenuTok+' tks '+emoBlackCircle+' [Total SUPPORT (Fan and Basic)] = '+(allOutMenuTok*0.05).toFixed(2)+' $ to model \n' + outputPublicM+' \n'+basicMenu_hit+' hits | '+basicMenu_sec+' sec | '+basicMenu_tok+' tks '+emoBlackCircle+' [Total MENU (Basic)] = '+(basicMenu_tok*0.05).toFixed(2)+' $ to model \n' //+ outputFanM+' \n Total : '+fanMenu_hit+' hits | '+fanMenu_sec+' sec | '+fanMenu_tok+' tks \n' // lush + outputLushM//+ ' \n? hits | ? sec | '+basicLush_tok+' tks '+emoBlackCircle+' Lush from Basic' //+ ' \n? hits | ? sec | '+fanLush_tok+' tks '+emoBlackCircle+' Lush from Fans' + ' \n '+lush_hit+' hits | '+lush_sec+' sec | '+lush_tok+' tks '+emoBlackCircle+' [Total LUSH (Fan and Basic)] = '+(lush_tok*0.05).toFixed(2)+' $ to model \n' // tout les totaux + '\n ------------------------------------' //+ '\n'+ttl_hit+' hits | '+ttl_sec+' sec | '+ttl_tok+' tks | $ '+(ttl_tok*0.05).toFixed(2)+' $ for model '+emoBlackCircle+' [Total LUSH (Fan and Basic)erreur]' + '\n'+allHit+' hits | '+ttl_sec+' sec | '+allTipAmount+' tks | $ '+(allTipAmount*0.05).toFixed(2)+' $ for model '+emoBlackCircle+' [Total MENU|SUPPORT|LUSH (Fan and Basic)] ' + '\n ------------------------------------' , modelName) } function init() { // only for when app start ( not for reload) //fc_menuBis("fan") //fc_menuBis("basic") roomRulesControl() cb.setTimeout(lushMenusControl, 10000) //, lushMenusControl_rotateTime * 60000 cb.setTimeout(basicMenusControl, 20000)//, basicMenusControl_rotateTime * 60000 fc_notifyRules2() ///cb.setTimeout(releaseTimeouts) releaseTimeouts() } /** small fonctions : (toSum) an array | **/ function toSum (a, b) { // keep return a + b } function makeDiv(divChr, strLen, maxDivLen) { var divLen = 0; var divStr = ""; if (strLen > maxDivLen) { divLen = maxDivLen; } else { divLen = strLen; } while (divStr.length < divLen) { divStr = divChr + divStr; } return divStr; } function letrine(n) { resultat = n.replace(/^([a-z]{1})/g, function($1) {return $1.toUpperCase()}) return resultat ; } /** CB functions **/ cb.onDrawPanel(function(user) { if (allTipAmount >= hiddenShowAmountGoal) { return { 'template': '3_rows_11_21_31', 'row1_value': hiddenShowTitleGoal, 'row2_value': 'Goal Reached!', 'row3_value': '0' }; } else { return { 'template': '3_rows_11_21_31', 'row1_value': hiddenShowTitleGoal, 'row2_value': (hiddenShowAmountGoal - allTipAmount) , 'row3_value': '0' }; } }); cb.onLeave(function(user) { var modelName = cb.room_slug var name = user['user'] var isMod = user['is_mod'] var isFan = user['in_fanclub'] //if(name == 'joe' || name =='loulouw75') {isFan = true} else { isFan = false} /// just for testbed control if (isFan) { } }) cb.onEnter(function(user) { var modelName = cb.room_slug var name = user['user'] var isMod = user['is_mod'] var isFan = user['in_fanclub'] var isModel = (name == cb.room_slug) var isReal = (cb.room_slug == 'loulouw') //var isLounge = (name == 'joejo') //var isCreator = (name == 'joejo' || name == 'jo') var hasTokens = user['has_tokens'] var hasTipped = (user['tipped_recently'] || user['tipped_alot_recently'] || user['tipped_tons_recently']) var isGrey = !(hasTokens || isMod || isModel || isFan) //if(name == 'joe' || name =='loulouw75') {isFan = true} else { isFan = false} /// just for testbed control if (isFan) { /*if(!hc_discountForLifeArray["user"].includes(name)) { fc_hcAcces(name, 0, isFan) // s'affiche en pblic... cb.chatNotice('good : '+hasShowAndDaillyHC_discountForLife, name) //s'affiche que chez joejo }*/ if(!openToFanArray["user"].includes(name)) {// empêche de multiplier le reload de la function fanTipMenu . Le reload doit se faire 1 seule fois. openToFanArray["user"].push(name) //cb.limitCam_addUsers([name]) //cas1 on add a la cam chaque fan des son entre dans la room /*fc_menuBis("fan") cb.chatNotice(emoBlackCirclex3+' '+ fanTipMenuList+'\n '+emoBlackCirclex3, name, '', '#147a02', '') function fanTipMenu() { cb.chatNotice(emoBlackCirclex3+' ' //Public Broadcast Menu + fanTipMenuList + '\n '+emoBlackCirclex3, name, '', '#147a02', 'bold') idftm1 = cb.setTimeout(fanTipMenu, 5*60000) } cb.setTimeout(fanTipMenu, 5*60000)*/ } } if(!isFan) { } //cb.chatNotice(roomRules, name, '', '', 'bold') //cb.chatNotice(emoBlackCirclex3+' '+basicTipMenuList+ '\n '+emoBlackCirclex3, name, '', color_BCmenu, 'bold') }) cb.onTip(function(tip) { var tipAmount = tip["amount"] var name = tip["from_user"] var tipNote = tip["message"] allHit = ++allHit allTipAmount += tipAmount var isFan = tip["from_user_in_fanclub"]; //var isBasic = !loungeArray["user"].includes(name) || (loungeArray["user"].includes(name)&& new Date(loungeArray["expDate"][loungeArray["user"].indexOf(name)]) < today) //var wasFan = fanListArray["user"].includes(name) && new Date(fanListArray["expDate"][fanListArray["user"].indexOf(name)]) < today //if(name == 'joe' || name =='loulouw75') {isFan = true} else {isFan = false} /// just for testbed control /****** NO Lounge NO fan club **/ if (!isFan) { //cb.chatNotice('Basic') /** basicMenu zone **/ toArray = 'supportAmount' if(ISACTIVE["basicMenu"] && basicMenuArray["amount"].includes(tipAmount)) { // tip amount = tarif dans basicmenu flashMenuHit = ++flashMenuHit toArray = 'menuAmount' i = basicMenuArray["amount"].indexOf(tipAmount) fc_menuStat("basicMenu", tipAmount, i) // pour les stats stat = '('+basicMenuArray["statHit"][i]+'/'+flashMenuHit+')' stat = '' cb.chatNotice(stat+' '+name+' tipped for '+basicMenuArray["perform"][i]+'. Thank you !', '', backColor_tip, color_tip, 'bold') //cb.chatNotice(basicMenuArray2["perform"][i]+' = '+basicMenuArray2["info"][i]+' environ.', modelName, '#d8d8d8', color_tip, 'bold') } if(ISACTIVE["basicMenu2"] && basicMenuArray2["amount"].includes(tipAmount)) { // tip amount = tarif dans basicmenu flashMenuHit = ++flashMenuHit toArray = 'menuAmount' i = basicMenuArray2["amount"].indexOf(tipAmount) fc_menuStat("basicMenu2", tipAmount, i) // pour les stats stat = '('+basicMenuArray2["statHit"][i]+'/'+flashMenuHit+')' stat = '' cb.chatNotice(stat+' '+name+' tipped for '+basicMenuArray2["perform"][i]+'. Thank you !', '', backColor_tip, color_tip, 'bold') //cb.chatNotice(basicMenuArray2["perform"][i]+' = '+basicMenuArray2["info"][i]+' environ.', modelName, '#d8d8d8', color_tip, 'bold') } if(ISACTIVE["lushMenu"] && lushMenuArray["amount"].includes(tipAmount)){ // lushMenuHit = ++lushMenuHit toArray = 'lushAmount' i = lushMenuArray["amount"].indexOf(tipAmount) fc_menuStat("lushMenu", tipAmount, i) // pour les stats } if(ISACTIVE["lushMenu"] && tipAmount > 1 && tipAmount < 15) { toArray = 'lushAmount' i = 0 fc_menuStat("lushMenu", tipAmount, i) // pour les stats } if(basicTippersArray["user"].includes(name)) { // name est dans tipper array fc_tipperStat("spliceBasic", name, tipAmount, toArray) } else { // name n'est pas dans tipper array fc_tipperStat("pushBasic", name, tipAmount, toArray) } if(ISACTIVE["dailyCamMenu"]) { if (camMenuArray["amount"][0] == tipAmount) { stat = '' cb.chatNotice(stat+' :9b623ca3-e4d8-4b19-abf4-ad61e2f5717d '+camMenuArray["perform"][0]+' sold to '+name+'.', '', backColor_tip, color_tip, 'bold') } } if(ISACTIVE["showCamMenu"]) { /*if (camMenuArray["amount"][1] == tipAmount) { if(!showCamTktHoldersArray["lun"].includes(name)) { showCamTktHoldersArray["lun"].push(name) stat = '' cb.chatNotice(stat+' '+camMenuArray["perform"][1]+' sold to '+name+'.', '', backColor_tip, color_tip, 'bold') } }*/ if (sheduleCam1["amount"][0] == tipAmount) { if(!showCamTktHoldersArray["lun"].includes(name)) { showCamTktHoldersArray["lun"].push(name) stat = '' cb.chatNotice(stat+' '+sheduleCam1["perform"][0]+' sold to '+name+'.', '', backColor_tip, color_tip, 'bold') } } } } if (isFan) { var test = -1 // ne pas supprimer : important pour la prise en compte des fan stats ! //cb.chatNotice('Fan') //push dans fanMenu : ne fonctionne pas ! la methode ci dessous fonctionne que si l'array est nativement renseignée. /*if (fanMenuArray["amount"].includes(tipAmount)) { a = fanMenuArray["amount"].indexOf(tipAmount) stat = '' cb.chatNotice(stat+' '+name+' tipped for '+fanMenuArray["perform"][a]+'. Thank you !', '', backColor_tip, color_tip, 'bold') } else { cb.chatNotice('??????????????????????') }*/ // Applique directement le discount sur le basicMenu : ok for( i = 0; i < basicMenuArray["amount"].length ; i++) { if ( (basicMenuArray["amount"][i] - basicMenuArray["amount"][i] * disc1).toFixed(0) == tipAmount ) { test = i fanMenuArray["statTok"][i] += tipAmount // incremente tks dans array fanMenuArray["statHit"][i] += 1 // increment nombre de hit if (i == 0) { fanMenuArray["statSec"][i] += 1 // increment nombre de sec } else if ( i >= 1 && i <= 3) { fanMenuArray["statSec"][i] += 30 // increment nombre de sec } else if ( i >= 7 && i <= 13) { fanMenuArray["statSec"][i] += 120 // increment nombre de sec } else { fanMenuArray["statSec"][i] += 60 // increment nombre de sec } stat = '' cb.chatNotice(stat+' '+name+' tipped for '+basicMenuArray["perform"][i]+'. Thank you !', '', '#147a02', color_tip, 'bold') if(fanTippersArray["user"].includes(name)) { // name est dans tipper array fc_tipperStat("spliceFan", name, tipAmount, basicMenuArray["perform"][i]) } else { // name n'est pas dans tipper array fc_tipperStat("pushFan", name, tipAmount, basicMenuArray["perform"][i]) } } } if(test == -1) { if(fanTippersArray["user"].includes(name)) { // name est dans tipper array fc_tipperStat("spliceFan", name, tipAmount) } else { // name n'est pas dans tipper array fc_tipperStat("pushFan", name, tipAmount) } } //cb.chatNotice('cccccccccccccccccccccccccchek:'+test) /*if (specialFanMenuArray["amount"].includes(tipAmount)) { y = specialFanMenuArray["amount"].indexOf(tipAmount) stat = '' cb.chatNotice(stat+' '+name+' tipped for '+specialFanMenuArray["perform"][y]+'. Thank you !', '', backColor_tip, color_tip, 'bold') }*/ } /*tipAnnounce(tipAmount, name, true) } else { // A faire plus tard //check if name has token more than tipAnnounce(tipAmount, name, false) }*/ /****** Lounge or fan club **/ /*if (loungeArray["user"].includes(name)) { // si user lounge i = loungeArray["user"].indexOf(name) if(new Date(loungeArray["expDate"][i]) >= today) { //on applique le discount sur la durée du plan // HiddenCam zone // version 1 if ( (camMenuArray["amount"][1] - camMenuArray["amount"][1] * disc1).toFixed(0) == tipAmount ) { cb.chatNotice(name+' tipped for hc show tkt' ) } // flash zone for( a = 0; a < basicMenuArray["amount"].length ; a++) { if ( (basicMenuArray["amount"][a] - basicMenuArray["amount"][a] * disc1).toFixed(0) == tipAmount ) { cb.chatNotice(name+' tipped '+(basicMenuArray["amount"][a] - basicMenuArray["amount"][a] * disc1).toFixed(0)+' (instead '+basicMenuArray["amount"][a]+' tks) for '+basicMenuArray["perform"][a] ) break } } } }*/ /****** Lounge AND fan club if (!loungeArray["user"].includes(name)) && !loungeArray["user"].includes(name)) { // si user est fan ET lounge } **/ /****** All users **/ //fc_hasHiddenCamAcces(name, tipAmount) //cb.chatNotice('Just for test - allTipAmount:'+allTipAmount+' tk | allHit:'+allHit) //tipAnnounce(tipAmount, name) cb.drawPanel() }) cb.onMessage(function(message) { var msgParam = message["m"].split(" ") var hasTokens = message['has_tokens'] var name = message['user'] var msg = message['m'] var isFan = message['in_fanclub'] var isMod = message['is_mod'] var isModel = (name == cb.room_slug) var isGrey = !(hasTokens || isMod || isModel || isFan) var modelName = cb.room_slug var isReal = (cb.room_slug == 'loulouw') curentTime = new Date() if (isModel) { if (msgParam[0].charAt(0) == "/") { message['X-Spam'] = true; message['background'] = "linear-gradient(to right bottom, #FFFFFF, #CCC 70%)"; // switch (msgParam[0]) { //message['background'] = '#ead9d7' case "/help": cb.chatNotice(helpNotice, modelName, '#ead9d7') break case "/menu": //fc_menuBis(msgParam[1], name) break case "/stat": fc_showStat() break case "/tipperstat": fc_showTipperStat() break case "/king": cb.chatNotice('King is '+hightBasicTipperName+' ['+hightBasicTipper+' tokens]'+emospace, modelName, '#d8d8d8') break case"/von": ISACTIVE["groupShowOn"] = true break case"/cdv": // change duree if (dureeGroupShow == 10) { dureeGroupShow = 15 finGroupShowSession = 45 } else if (dureeGroupShow == 15) { dureeGroupShow = 10 finGroupShowSession = 40 } cb.chatNotice('groupShow : Pendant '+dureeGroupShow+' minutes | Fin: HH:'+finGroupShowSession, modelName, '#d8d8d8') break case "/nvv2": //if (curentTime.getMinutes() >= 0 && curentTime.getMinutes() < 30 + dureeGroupShow) { //if (finBC < 10) { groupShowEpoch2 = new Date(new Date().getFullYear(), new Date().getMonth(), new Date().getDate(), finBC).getTime() //nextGroupShowEpoch = (new Date).getTime() + (3 * 60000) //nextGroupShowEpoch = nextGroupShow.getTime() cb.chatNotice('GroupShow timer is active. '+groupShowEpoch2, modelName, '#d8d8d8') //} break case"/stopnvv2": groupShowEpoch2 = 0 cb.chatNotice('GroupShow timer is un-active. '+groupShowEpoch2, modelName, '#d8d8d8') break case "/lushon": ISACTIVE["lushMenu"] = true cb.chatNotice('Lush Menu : Active. Connect and Check your parameter on your phone and lovense website', modelName, '#ead9d7') break case "/lushoff": ISACTIVE["lushMenu"] = false cb.chatNotice('Lush Menu : No active. You need to Disconnect Lush from your phone and lovense', modelName, '#ead9d7') break } } else { // to right bottom, #FFFFFF, lightsalmon 70% message['background'] = "linear-gradient(to right, #FFFFFF 15%, lightsalmon 70%)" message['f'] = "courier" //msg = genderStr+' '+msg; // lou add } } else if(isMod) { message['background'] = "linear-gradient(to right, #ffffff 15%, #ffffff 90%, red 102%)" } /*else if (!hasTippedOver) { if(msg.indexOf(":") > -1) { msg = msg.replace(/:([^\s]+)/g,"[blocked emote]"); } }*/ else { if(basicTippersArray["user"].includes(name)){ i = basicTippersArray["user"].indexOf(name) if (basicTippersArray["user"][i] == hightBasicTipperName) { message['background'] = "linear-gradient(to right bottom, #FFFFFF, #deecf4 70%)"; msg = '' //+ 'L:'+basicTippersArray["lushAmount"][i]+'|M:'+basicTippersArray["menuAmount"][i]+'|S:'+basicTippersArray["supportAmount"][i]+' ['+basicTippersArray["sumAmount"][i]+'] ' + ':crownbecca ||'+basicTippersArray["sumAmount"][i]+'|| ' + msg } else { msg = '' //+ 'L:'+basicTippersArray["lushAmount"][i]+'|M:'+basicTippersArray["menuAmount"][i]+'|S:'+basicTippersArray["supportAmount"][i]+' ['+basicTippersArray["sumAmount"][i]+'] ' + '||'+basicTippersArray["sumAmount"][i]+'|| ' + msg } } else { //msg = basicTippersArray["menuAmount"][2]+' |||| '+msg } } // return final altered message message['m'] = msg; return message; }) //cb.goto('http://www.google.com') init()
© Copyright Chaturbate 2011- 2025. All Rights Reserved.