Bots Home
|
Create an App
lW_bot
Author:
loulouw
Description
Source Code
Launch Bot
Current Users
Created by:
Loulouw
// dolly bot du 06 set 2018 / decrease for user in private // goal in test dashLine = '--------------------------------------------------------' var emoStar = '\u{2605}' ; //var emoStar = ':starslana' var emoStar3 = '-----------' ; //var emoStar3 = '\u{2605} \u{2605}' var emoSpace = '\u{0020} \u{1F534}' //violet claire #9b3b98 , violet foncé #682166 , jaune fluo #ffff33, vert eau #dcf4df var bgColor_tipNote = '#F4B400' ; var fontColor_tipNote = '' var bgColor_prize = '' ; var fontColor_prize = '' var bgColor_menu = ''; var fontColor_menu = '#ce4eca' ; /**/ var bgColor_tipMenu = '#ce4eca' ; var fontColor_tipMenu = '#FFFFFF' var bgColor_teamMenu = ''; var fontColor_teamMenu = '#9b3b98' ; /**/ var bgColor_tipTeamMenu = '#9b3b98'; var fontColor_tipTeamMenu = '#FFFFFF' var bgColor_lushMenu = ''; var fontColor_lushMenu = '#ff167b' ; /**/ var bgColor_tipLushMenu = ''; var fontColor_tipLushMenu = '#ff167b' var clicksMenu = 0 ; var tipsMenu = 0 var clicksLush = 0 ; var tipsLush = 0 var clicksSupport = 0; var tipsSupport = 0 var clicksPrivateShow = 0 ; var tipsPrivateShow = 0 var visitorsArray = [] var gentlemanArray = ["janedo", "anoerbal", "fireman0640", "dixsous", "since1973"] var gentlemanKinks = [ {name: "janedo" , test:"lush expert, fem plaisir, etc",}, {name: "anoerbal" , test:"lush, 10 min",}, {name: "fireman0640" , test:"lush expert, fun",}, {name: "dixsous" , test:"lush expert, fun",}, {name: "since1973" , test:"lush expert, fun",}, ] var tippers = [] var teamArray = [] // "jo","jiji","jaja","jeje","patataton","patatai","patatatoot","prirouette","pirouette","chouquette" var pass = 'off' var userInPrivate = null //var isFan = null var soloSessionUserArray = [] // 'joejo', 'carl' var soloMinuteUserArray = [] // 'joejo', 'carl' var pmPrivateShowArray = [] pmAmount = 23 var privateOpen = false var basicMenuOn = false // qui a acces à la hidden cam ? // si show time //les show tippers // si goal time //les tippers //les tippers, les non tippers (sauf les grey) //les tippers, les non tippers, les lougrey (sauf les grey) var totalTokens = 0 teamOpen = true topic = '' roomIsPublic = true room = 'public' salon = 'public' var boobs = 'Bare Boobies' var kitty = 'Bare Kitty' var butt = 'Bare Butt' var lovenseApp = 'off' var lushOn = false var lushTopic = 'Buzz my lush | ' var nb = 1 bankPerform = 'Masturbation' bankMember = 0 bankFetish = 0 //function fc_setOptionsRates () { fingerRate = null dildoRate = null control1Rate = null control2Rate = null //} function recup(content, name, color1, color2, group) { if(group) cb.chatNotice ('haha') } // poll module var poll = { amount:[10, 12, 14, 16, 18], perform:["Oil show", "Finger pussy", "Dildo pussy", "Nora pussy", "Glass toy pussy"], space:["..............", "........", "..........", "...........", "...."], statHit:[0, 0, 0, 0, 0], } function fc_poll() { tipPollMenu = "" if (challenges.poll && challenges.tokens) { for (i = 0; i < poll["amount"].length; i++){ // POLL perform = poll["perform"][i] amount = poll["amount"][i] space = poll["space"][i] hit = poll["statHit"][i] if (!privateOpen){ if (amount != 22) tipPollMenu += ' - '+perform+' '+space+' '+amount+' tokens ['+hit+' votes]\n' } else { tipPollMenu += emoStar+' '+perform+' ('+amount+') ' } } cb.chatNotice('---------- POLL BOARD ----------\n Vote the next goal show \n '+tipPollMenu+' Tip the token amount to registrer your vote.', '', 'black', 'white', '') } } function fc_notifie_poll() { fc_poll() cb.setTimeout(fc_notifie_poll, 5 * 60000) } // debut goal module var goalShowInProgress = "" var goalDes = null // lou var challenges = { tokens : 0, // total jetons tippers : 0, // nonbre de lovers tips : 0, // nbr de pourboire tipSize : 0, // valeur du pourboire ticketPrice : 0, poll : 0, } var onGoalReached = () => { //cb.changeRoomSubject(goalDes+' | '+(privateOpen ? 'Pvt open | ' : '')+(lushOn ? 'Lush in | #lush #lovense' : '')+' Real#french #bbw #bigboobs #hairy #mature #lovense'); goalShowInProgress = ' | '+goalDes //cb.changeRoomSubject( goalDes+' | No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.changeRoomSubject( goalDes+' | '+topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.chatNotice(dashLine+" \n---- Goal reached! Thanks to all tippers! ----\n"+dashLine, "", "", "red"); resetGoal(); //sys.setSubject(); cb.drawPanel(); } var resetGoal = () => { goalDes = null // lou poll.statHit = [0, 0, 0, 0, 0] //tippers = []; challenges = { tokens : 0, tippers : 0, tips : 0, tipSize : 0 } } cb.onDrawPanel(function () { /* return { 'template': '3_rows_11_22_32', 'row1_label': goalDes == null ? '' : 'Goal: '+goalDes, 'row2_label': goalDes == null ? '' : 'remaining: ', 'row2_value': goalDes == null ? '' : challenges.tokens+ ' tks | ' +challenges.tippers+ ' lovers | ' +challenges.tips+ ' tips de ' +challenges.tipSize+ ' tokens each ', 'row3_label': '', 'row3_value': '', }*/ /* if (!challenges.tips && !challenges.tokens && !challenges.tippers && !challenges.tipSize) { return { template : '3_rows_11_21_31', row1_value : 'Tips keep the magic ALIVE!', row2_value : 'Tip 13 for a tease and 100 for a sip', row3_value : 'And read my bio by scrolling down!' } } let panel = { template : '3_rows_of_labels', row1_label : 'Needed to reach goal ', row1_value : '(type /goal for info)', row2_label : '', row2_value : '', row3_label : '', row3_value : '' } if (challenges.tips && challenges.tippers && challenges.tokens) { panel.template = '3_rows_12_21_31'; if (challenges.tipSize) { panel.row2_value += "Tips of " + challenges.tipSize + " tokens: "; panel.row2_value += challenges.tips panel.row3_value = "Tokens total: "; panel.row3_value += challenges.tokens; panel.row3_value += " | Tippers: "; panel.row3_value += challenges.tippers; } else { panel.row2_value += "Tokens: "; panel.row2_value += challenges.tokens; panel.row2_value += " | Tips: "; panel.row2_value += challenges.tips panel.row2_value += " | Tippers: "; panel.row2_value += challenges.tippers; } } else if (challenges.tips) { panel.row2_label += "Tips" if (challenges.tipSize) { panel.row2_label += " of " + challenges.tipSize + " tokens"; } panel.row2_label += ":"; panel.row2_value = challenges.tips if (challenges.tokens) { panel.row3_label = "Tokens:" panel.row3_value = challenges.tokens; } if (challenges.tippers) { panel.row3_label = "Tippers:" panel.row3_value = challenges.tippers; } } else if (challenges.tokens) { panel.row2_label = "Tokens" if (challenges.tipSize) { //panel.row2_label += " (in tips of " + challenges.tipSize + ")"; } panel.row2_label += ":" panel.row2_value = challenges.tokens; if (challenges.tippers) { panel.row3_label = "Tippers" if (challenges.tipSize) { panel.row3_label += " of "+challenges.tipSize+" tokens"; } panel.row3_label += ":"; panel.row3_value += challenges.tippers; } } else if (challenges.tippers) { panel.row2_label = "Tippers"; if (challenges.tipSize) { panel.row2_label += " of "+challenges.tipSize+" tokens"; } panel.row2_label += ":"; panel.row2_value += challenges.tippers; } else if (challenges.tipSize) { panel.template = '3_rows_12_21_31'; panel.row2_value = "A single tip of "+challenges.tipSize+" tokens"; } return panel; */ if (!challenges.tips && !challenges.tokens && !challenges.tippers && !challenges.tipSize) { return { template : '3_rows_11_21_31', row1_value : '', // Tips keep the magic ALIVE! row2_value : '', // Tip 13 for a tease and 100 for a sip row3_value : '' //And read my bio by scrolling down! } } let panel = { template : '3_rows_11_21_31', row1_value : '', row2_value : 'Remaining to', row3_value : goalDes == null ? '' : goalDes, } if (challenges.tips && challenges.tippers && challenges.tokens) { //panel.template = '3_rows_12_21_31'; if (challenges.tipSize) { panel.row1_value += challenges.tips+" tips of " +challenges.tipSize+ " tokens"; panel.row1_value += " | " +challenges.tokens+ " tokens"; panel.row1_value += " | " +challenges.tippers+ " new lovers"; } else { panel.row1_value += challenges.tokens+ " tokens"; panel.row1_value += " | " +challenges.tips+ " tips"; panel.row1_value += " | " +challenges.tippers+ " new lovers"; } } else if (challenges.tokens && challenges.ticketPrice) { //panel.template = '3_rows_12_21_31'; panel.row2_value = "Ticket price : "+challenges.ticketPrice+" tokens"; panel.row3_value = "Needed to reach goal : " +challenges.tokens+ " tokens"; } else if (challenges.tips) { panel.row1_value += challenges.tips+" Tips" if (challenges.tipSize) { panel.row1_value += " of " + challenges.tipSize + " tokens"; } if (challenges.tokens) { panel.row1_value += " | "+challenges.tokens+" tokens"; } if (challenges.tippers) { panel.row1_value += " | "+challenges.tippers+" new lovers"; } } else if (challenges.tokens) { panel.row1_value = challenges.tokens+" tokens" if (challenges.tipSize) { //panel.row2_label += " (in tips of " +challenges.tipSize+ ")"; } if (challenges.tippers) { panel.row1_value += " | "+challenges.tippers+" new tippers"; if (challenges.tipSize) { panel.row1_value += " of "+challenges.tipSize+" tokens"; } } } else if (challenges.tippers) { panel.row1_value += challenges.tippers+" tippers"; if (challenges.tipSize) { panel.row1_value += " of "+challenges.tipSize+" tokens"; } } else if (challenges.tipSize) { panel.template = '3_rows_12_21_31'; panel.row2_value = "A single tip of "+challenges.tipSize+" tokens"; } return panel; }); //fin goal module var lushChallenge = { toy : "lush", tokens : 1100, tokensMini : 1100, tokensMaxi : 1300, winner : "", } var onLushChallengeReached = (name) => { cb.chatNotice(dashLine+" \n---- "+name+" Win prize : control "+lushChallenge.toy+" 5 minutes ----\n"+dashLine, "", "", "red"); lushChallenge.tokens = Math.floor(Math.random() * (lushChallenge.tokensMaxi - lushChallenge.tokensMini +1) ) +lushChallenge.tokensMini // rang 1100 à 1300 inclus //cb.chatNotice(dashLine+" \n---- "+lushChallenge.tokens+" ----\n"+dashLine, "", "", "red"); //resetGoal(); //sys.setSubject(); //cb.drawPanel(); } /*var basicMenuArray2 = { amount:[2, 3, 16, 26, 36, 46, 61, 72, 84, 81, 102, 114, 126, 101, 122, 134], perform:["Keep personal in OM", "Ask before in OM", "1 SPANK: on butt", "FLASH: Bare Boobies", "FLASH: Bare Kitty", "FLASH: Bare butt", "SHOW: Bare Boobies", "BOUNCE: Bare Boobies", "LICK or PINCH: Bare Boobies", "SHOW: Bare Kitty", "RUB: Bare Kitty [HC]", "SPREAD: Bare Kitty [HC]", "FINGER IN: Bare Kitty [HC]", "SHOW: Doggy Bare Butt", "TWERK: Doggy Bare Butt", "SPREAD: Doggy Bare Butt [HC]", ], info:[0, 0, 5, 5, 5, 5, 60, 60, 60, 60, 60, 60, 60, 60, 60, 60], statSec:[0, 0, 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, 0, 0], statHit:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], }*/ var basicMenuArray2 = { amount: [pmAmount, 36, 46, 72, 73, 108, 112, 113, 148, 186, 246, 765 ], perform:["PM PvtShow expectations", "4 SPANK on butt", "SUCK Fingers", "FLASH Boobies", "JIGGLE ass with pantie", "FLASH Pussy", "PLAY Boobies", "JIGGLE ass", "SPREAD pussy", "Sexy dance", "Striptease", "Naked 30 minutes"], info: [0, 300, 5, 60, 10, 10, 10, 0,], statSec:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,], statTok:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,], statHit:[0, 0, 0, 0, 0, 0, 0, 0, 0, 0,], } var basicMenuArray3 = { amount:[102, 112, 122, 172], perform:["RUB Kitty [HC]", "SPREAD Kitty [HC]", "FINGER IN Kitty [HC]", "DILDO kitty [HC]"], info:[60, 60, 60, 60], statSec:[0, 0, 0, 0], statTok:[0, 0, 0, 0], statHit:[0, 0, 0, 0], } var lushMenuArray = { amount:[1, 15, 50, 100, 500], level:["Level 1", "Level 2", "Level 3", "Level 4", "Level 5"], perform:["low 1 sec", "med 4 sec", "hight 7 sec", "ultra 10 sec", "ultra 60 sec"], performSec:[1, 4, 7, 10, 60], statSec:[0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0], statHit:[0, 0, 0, 0, 0], } var paternMenuArray = { amount:[120, 150, 180], level:["Patern 1", "Patern 2", "Patern 3"], perform:["Wave 20 sec", "Earthquake 25 sec", "Fireworks 30 sec"], performSec:[20, 25, 30], statSec:[0, 0, 0], statTok:[0, 0, 0], statHit:[0, 0, 0], } var fanNotice = { 1: 'Join my Fan Club (15$ per month for the 5 first suscribers) and get 20% discount on private play menu !', } var prize = { 1: 'Tip 9 to 99 to have a chance to control lush 5 minutes in public!', } var rules = { 1: '1 - Please, no pet name like bb, honey, etc...my name is Lou.', 2: '2 - No directing - No demanding - No sexual/rude gif - No anal - No squirt.', 3: '3 - Keep in tipNote all dirty talk, something you want/should share only with me.', ///4: '4-Explicit ONLY on [T]eam '+(privateOpen ? ' and private show' : 'show')+'.', ///5: '5-Big or small all tips are greatly apreciated.', //6: '6-Private '+(privateOpen ? 'OPEN' : 'CLOSED'), //7: 'No demanding unless you tip public menu.', //8: 'If you don\'t find what you want in public menu, tip 3 tokens with your request in optional message. I will let you know what I would need from you, in order to satisfy you.', } var gifList = { 1: ':lou_west', 2: 'Tip if you love the show, every single tip is appreciated and gives me pleasure, thank you', 3: ':FOLLOW', } //-- function fc_lush() { tipMenuTitle = ':lovenseon12' tipMenuList1 = '' tipMenuList2 = '' random = '\n'+emoStar+' Random - Lovense App choose level 2, 3, or 4 (40)' if(lushOn) { for (i = 0; i < lushMenuArray["amount"].length; i++){ //level = basicMenuArray2["level"][i] //perform = basicMenuArray2["perform"][i] //amount = basicMenuArray2["amount"][i] tipMenuList1 += '\n'+emoStar+' '+lushMenuArray["level"][i]+' - '+lushMenuArray["perform"][i]+' ('+lushMenuArray["amount"][i]+') ' } for (i = 0; i < paternMenuArray["amount"].length; i++){ //level = basicMenuArray2["level"][i] //perform = basicMenuArray2["perform"][i] //amount = basicMenuArray2["amount"][i] tipMenuList2 += '\n'+emoStar+' '+paternMenuArray["level"][i]+' - '+paternMenuArray["perform"][i]+' ('+paternMenuArray["amount"][i]+') ' } /*if ( cb.limitCam_isRunning() ) { out = ' :alert1 LUSH MENU : If you are not in the team, you will not enjoy any tip from this menu. :alert1 ' } else out = 'LUSH MENU'*/ if (salon.indexOf('Private') == -1) { if (salon == '[T]eam show') { for (i = 0; i < teamArray.length; i++){ teamMemberName = teamArray[i] cb.chatNotice(tipMenuTitle+tipMenuList1+tipMenuList2+' \n'+emoStar3, teamMemberName, bgColor_lushMenu, fontColor_lushMenu, 'bold') } } else { cb.chatNotice(tipMenuTitle+tipMenuList1+tipMenuList2+random, '', bgColor_lushMenu, fontColor_lushMenu, 'bold') } } } } function fc_hgMenu() { var tipMenuList = '' //if(pass == 'off') { if (salon == 'public' ) { for (i = 0; i < basicMenuArray2["amount"].length; i++){ // MENU perform = basicMenuArray2["perform"][i] amount = basicMenuArray2["amount"][i] if (!privateOpen){ if (amount != pmAmount) tipMenuList += emoStar+' '+perform+' ('+amount+') ' } else { tipMenuList += emoStar+' '+perform+' ('+amount+') ' } } if (basicMenuOn) cb.chatNotice(emoStar3+' PUBLIC MENU '+emoStar3+' \n '+tipMenuList, '', bgColor_menu, fontColor_menu, 'bold') //if (privateOpen) cb.chatNotice('PM (to discuss private show expectations ONLY) - 22 tokens' , '', bgColor_menu, fontColor_menu, 'bold') } /*else if (salon == 'BJ' || salon == 'cum') { //MENU tipMenuList += emoStar+' Keep personal (2) ' cb.chatNotice(emoStar3+' :alert1 MENU for [T]eam members AND hidden '+salon+' show ONLY . If you are not in the Team, any tip from this menu will not be honoured. :alert1 '+emoStar3+' \n '+tipMenuList+' \n'+emoStar3, '', bgColor_teamMenu, fontColor_teamMenu, 'bold') } else if (salon == 'rub kitty' || salon == 'dildo kitty') { // || salon == '[T]eam show' //cb.chatNotice(emoStar3+' Hidden '+salon+' show [T]EAM MENU '+emoStar3+' :alert1 If you are not in the Team, any tip from this menu will not be honoured. :alert1', '', '', '', 'bold') cb.chatNotice(emoStar3+' [T]EAM MENU '+emoStar3+' :alert1 If you are not a [T]eam member, any tip from this menu will not be honoured. :alert1', '', '', '', 'bold') for (i = 0; i < basicMenuArray2["amount"].length; i++) { // MENU perform = basicMenuArray2["perform"][i] amount = basicMenuArray2["amount"][i] if(amount != 22 ) { // pas de "PM - Private show" pendant les salon kitty tipMenuList += emoStar+' '+perform+' ('+amount+') ' } } for (i = 0; i < basicMenuArray3["amount"].length; i++){ //EXTRA MENU perform = basicMenuArray3["perform"][i] amount = basicMenuArray3["amount"][i] //if (salon == 'rub kitty' && amount == 102) perform = 'ZOOM Kitty [HC]' // zoom kitty suspendu //if (salon == 'dildo kitty' && amount == 172 ) perform = 'BJ [HC]' // salon suspendu if(amount != 102 ) { // zoom kitty supendu tipMenuList += emoStar+' '+perform+' ('+amount+') ' } } cb.chatNotice(tipMenuList+' \n'+emoStar3, '', bgColor_teamMenu, fontColor_teamMenu, 'bold') }*/ //} } function fc_welcom () { if (salon == 'public' || salon == '[T]eam show') cb.chatNotice(':lou_west') } function fc_tipGreatly(name, tipAmount) { clicksSupport++ tipsSupport += tipAmount thanksMsg = 'Thank you' if(tipAmount >= 50) thanksMsg = 'Thanks for your tip' if(tipAmount >= 100) thanksMsg = 'Thanks for your apréciation' if(tipAmount >= 500) thanksMsg = ':happydance4 \n thank you so much' if(tipAmount >= 1000) thanksMsg = ':happydance4 :happydance4 \n thank you so much' if(tipAmount >= 2000) thanksMsg = ':happydance4 :happydance4 :happydance4 \n thank you so much' if(roll) { tipsSupport -= maxTip //tipsDice -= maxTip thanksMsg = 'Thanks for your support' } //cb.sendNotice('Thank you '+tippers[name].team+' '+name+', big or small, all tips are greatly appreciated.', '', '#f9f4cf', '', 'bold') if(tipAmount >= 10) cb.sendNotice(thanksMsg+' '+tippers[name].team+' '+name+' !', '', '#f9f4cf', '', 'bold') } //-- NOTIFIE function fc_notifie_basicMenus() { fc_hgMenu() cb.setTimeout(fc_notifie_basicMenus, 5 * 60000) } function fc_notifie_lushMenus() { fc_lush() cb.setTimeout(fc_notifie_lushMenus, 5 * 60000) } function fc_notifie_prize() { //if (lushOn) cb.chatNotice(prize[1], '', bgColor_prize, fontColor_prize, 'bold') cb.setTimeout(fc_notifie_prize, 5 * 60000) } function fc_notifie() { if (pass == 'off') { if (salon == 'public' || salon == '[T]eam show') cb.chatNotice('Rule '+rules[nb], '', '#70ffff') if (salon == 'BJ' || salon == 'cum') { //if (nb < 5) nb++ if (nb < 3) nb++ else nb = 1 } //else if (nb < 5) nb++ //+1 else if (nb < 3) nb++ //+1 else nb = 1 //, cb.setTimeout(fc_welcom, 4.75 * 60000) } cb.setTimeout(fc_notifie, 5 * 60000) } function fc_notifie_fan() { cb.chatNotice('\u2731 '+fanNotice[1], '', '', '#009900', 'bold') cb.setTimeout(fc_notifie_fan, 5 * 60000) } //-- function fc_teamUser() { } //-- function getTippers(topNumber) { var topTippers = []; var tempTippers = objectToArray(tippers); var output = ''; var output2 = '' tempTippers.sort(dynamicSort('-tips')); if (topNumber > 0) { topTippers = tempTippers.slice(0,topNumber); if (topTippers.length == 1) { output = 'Top Tipper'; } else { output = 'Top ' + topTippers.length + ' Tippers'; } } else { topTippers = tempTippers; output = 'All Tippers'; } if (topTippers.length > 0) { // ori for (i = 0; i < topTippers.length; i++) { output += '\n'+topTippers[i].tips+' : '+topTippers[i].username+' | Biggest tip:'+topTippers[i].biggesttip+' | HG:'+topTippers[i].team+' | Hdtip:'+topTippers[i].hdtips } } else { output = ' : There have been no tippers since the bot started.'; } //return output+ +output2+'\n'; return output; } function dynamicSort(property) { var sortOrder = 1; if (property[0] === "-") { sortOrder = -1; property = property.substr(1, property.length - 1); } var sortfunc = function (a, b) { if (typeof a[property] === "undefined") { if (typeof b[property] === "undefined") { // both undef return 0; } else { // b ok, a undef return -1; } } if (typeof b[property] === "undefined") { if (typeof a[property] === "undefined") { // both undef return 0; } else { // a ok, b undef return 1; } } var result = (a[property] < b[property]) ? -1 : (a[property] > b[property]) ? 1 : 0; return result * sortOrder; }; return sortfunc; } function objectToArray(myObj) { var arr = []; for (var i in myObj) { if (myObj.hasOwnProperty(i)) { arr.push(myObj[i]); } } return arr; } rollPrice = 11 multiRolls = 10 var maxTip = multiRolls * rollPrice; numberOfSides = 6 dieImagePrefix = ':reddie' rollCounter = 0 tipsDice = 0 var botChoice2Array = { 2: "Suck dildo", // *1+1 /1 3: "Spit on boobies", // 1+2 /2 4: "Lick nipples", // 1+3, *2+2 /3 5: "Flash pussy", //1+4, 2+3 /4 6: "Flash boobies", // 1+5, 2+4, *3+3 /5 7: "Try again", // 1+6, 2+5, 3+4 /6 8: "Squeeze boobies", // 2+6, 3+5, *4+4 /5 9: "5 Slaps pussy", // 3+6, 4+5 /4 10: "Suck fingers", // 4+6, *5+5 /3 11: "Flash butt", // 5+6 /2 12: "Spread pussy", // 6+6 /1 13: "-- RARRE ---", } function fc_roll(username) { rollCounter++; var die1 = Math.floor(Math.random() * numberOfSides) + 1; var die2 = Math.floor(Math.random() * numberOfSides) + 1; // see if there's a chance we can roll a rare die /*if (rollCounter > minimumRollsToGetRareDice) { if (Math.random() <= 1 / (rareChance / 100)) { die1 = 7; } }*/ var total = die1 + die2; var winner = false; if (total >= 1) { winner = true; var prize = botChoice2Array[total]; } else { winner = false; var prize = 'A Thank You!'; } /*var prizeIndex = prizes.indexOf(prize); if (prizeIndex >= 0) { if (cb.settings.remove_winning_prize == 'Yes') prizes.splice(prizeIndex, 1); } else { prize = 'A Thank You!'; }*/ var msg = dieImagePrefix + die1 + " " + dieImagePrefix + die2 + "\n"; msg += username + " rolled a " + total + "! \n".toUpperCase(); msg += "Roll #" + rollCounter + " | Prize: " + prize; var textColor = '#000000'; var bgColor = '#D9FAD7'; if (winner) textColor = '#067D00'; /*if (total == maxOutcome) { bgColor = '#FFDBF3'; textColor = '#A805A6'; }*/ cb.sendNotice(msg, '', bgColor, textColor, 'bold'); //lastPrizeWon = prize; //winners.push("Roll #" + rollCounter + " (" + total + "): " + username + " - " + prize); //cb.drawPanel(); } function showRollApp(username) { var msg = emoStar3+" We are playing Roll the Dice "+emoStar3+"\n"; /* msg += "We are playing Roll the Dice. "; //msg += "(Tweaked from the original game and its modifications by zingknaat, milo_bloom and tablesalt90)\n"; //msg += "Each roll reveals a prize. There are " + prizes.length + " possible prizes.\n"; msg += "Tip "+rollPrice+" tokens to roll once"+(multiRolls > 1 ? ", "+(2*rollPrice)+" tokens to roll twice. \n" : ". \n"); if (multiRolls > 1) msg += "You can roll a maximum of " + multiRolls + " times in a single tip ("+(multiRolls*rollPrice)+", "+((multiRolls+1)*rollPrice)+", "+((multiRolls+2)*rollPrice)+" tokens and so on). \n"; msg += "Type \"!prizes\" to see the list of prizes. Broadcaster and mods can type \"!prizes all\" to send the list to all viewers."; //if (username == cb.room_slug) msg += "Type \"!prizes all\" to send the list to all viewers if you're a mod or the broadcaster.\n"; cb.sendNotice(msg, username, '', '#15A6B0', 'bold'); */ for (i = 1; i <= multiRolls; i++){ // MENU msg += emoStar+' Roll '+i+'x ('+(rollPrice*i)+')' } msg += "\n Type \"!prizes\" to see the list of prizes. Broadcaster and mods can type \"!prizes all\" to send the list to all viewers."; cb.sendNotice(msg, username, '', '#15A6B0', 'bold'); } function showPrizes(username) { /*if (prizes.length) { var rareText = ''; var msg = "##### POSSIBLE PRIZES #####"; for (var i = 1; i <= maxOutcome; i++) { if (i == maxOutcome) rareText = " (RARE)"; if (prizes.indexOf(cb.settings['prize_' + i] + rareText) >= 0) msg += "\nRoll " + i + " - " + cb.settings['prize_' + i] + rareText; } } else { var msg = "SORRY! There are no prizes left in the list, but thank you for the tip. :thumbsup"; }*/ var msg = "##### ROLL THE DICE # POSSIBLE PRIZES #####"; for(i = 2; i <= 12; i++) { msg += "\n Roll "+i+" - "+botChoice2Array[i] } cb.sendNotice(msg, username, '#DBFBFF', '#008596', 'bold'); } function advertise() { showRollApp(); cb.setTimeout(advertise, 5 * 60000); } //-- function fc_init() { // only for when app start ( not for reload) //fc_menuBis("fan") //fc_menuBis("basic") //-- roomRulesControl() //-- cb.setTimeout(lushMenusControl, 5000) //, lushMenusControl_rotateTime * 60000 cb.setTimeout(fc_notifie_basicMenus, 10000)//, basicMenusControl_rotateTime * 60000 cb.setTimeout(fc_notifie_prize, 10000)//, basicMenusControl_rotateTime * 60000 cb.setTimeout(fc_notifie_lushMenus, 15000) cb.setTimeout(fc_notifie_poll, 15000) cb.setTimeout(advertise, 15000) cb.setTimeout(fc_notifie, 20000) //cb.setTimeout(fc_notifie_fan, 30000) //-- fc_notifyRules2() ///cb.setTimeout(releaseTimeouts) //-- releaseTimeouts() //cb.changeRoomSubject( 'No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.changeRoomSubject( topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); } //-- CB -- cb.onEnter(function(user) { var name = user['user']; var isModel = (name == cb.room_slug) var isMod = user['is_mod']; var isFan = user['in_fanclub']; var hasTokens = user['has_tokens']; var hasTipped = (user['tipped_recently'] || user['tipped_alot_recently'] || user['tipped_tons_recently']); var isGrey = !(hasTokens) if (name == 'anoerbal') cb.sendNotice('[Personnal note to '+name+'] Hello, j\'ai gardé ton privé au chaud. Pour le C2C tu dois afficher ta webcam sinon ta room/cam sera hors ligne (même si tu es "logué" sur CB). PM moi quand tu veux, ok ?', name, '#FFFF33', '', 'bold') if (name == 'hervethevev') cb.sendNotice('[Personnal note to '+cb.room_slug+'] '+name+' has join the room.', cb.room_slug, '#1a6ddb', '#FFFFFF', 'bold') if (pass == 'off') { out = '' if (salon == 'BJ' || salon == 'cum') nb = 3 else nb = 3 for (i = 1; i <= nb ; i++) { if (i < nb ) out += 'Rule '+rules[i]+'\n' if (i == nb ) out += 'Rule '+rules[i] } cb.chatNotice(out, name, '#70ffff') } if( !visitorsArray.includes(name) ) { visitorsArray.push(name) } /*else { outBack = 'Welcome back '+name if (salon == '[T]eam show') { if (tippers[name]) { if (tippers[name].team = '[T]') { // enjoy the hidden show - tip team menu outBack += '. Enjoy the hidden show - tip team menu' } } } cb.chatNotice(outBack, name, 'red') }*/ showRollApp(name) }) cb.onLeave(function(user) { var name = user['user']; if (name == 'hervethevev') { cb.sendNotice('[Personnal note to '+cb.room_slug+'] '+name+' has leave the room.', cb.room_slug, '#000000', '#FFFFFF', 'bold') } }) /* privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Finger ('+(250-bankMember)+') '+emoStar+' Dildo ('+(500-bankMember)+') '+emoStar+' Control 1 toy ('+(1000-bankMember)+') '+emoStar+' Control 2 toy altern ('+(2000-bankMember)+') '+emoStar+' Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Finger ('+(200-bankMember)+') '+emoStar+' Dildo ('+(400-bankMember)+') '+emoStar+' Control 1 toy ('+(800-bankMember)+') '+emoStar+' Control 2 toy altern ('+(1600-bankMember)+') '+emoStar+' Control 2 toys simultan ('+(2080-bankMember)+')' */ privateMemberMenu = emoStar+' For MEMBER '+emoStar +(!bankPerform.match("Finger") ? emoStar+" Finger (101 tokens)" : "")+(!bankPerform.match("Dildo") ? emoStar+" Dildo (202 tokens)" : "") //privateFanMenu = emoStar+' For FAN '+emoStar+' Finger ('+(200-bankMember)+') '+emoStar+' Dildo ('+(400-bankMember)+') '+emoStar+' Control 1 toy ('+(800-bankMember)+') '+emoStar+' Control 2 toy altern ('+(1600-bankMember)+') '+emoStar+' Control 2 toys simultan ('+(2080-bankMember)+')' function notify_privateMenu(a) { function refreshTitle() { if (userInPrivate != null && privateMemberMenu != '') { cb.sendNotice(emoStar3+' PRIVATE PLAY MENU '+emoStar3+' '+a, cb.room_slug, '', 'purple', 'bold') cb.sendNotice(emoStar3+' PRIVATE PLAY MENU '+emoStar3+' '+a, userInPrivate, '', 'purple', 'bold') } } function refreshMemberMenu() { if (userInPrivate != null && privateMemberMenu != '') { cb.sendNotice(privateMemberMenu, cb.room_slug, bgColor_teamMenu, fontColor_teamMenu, 'bold') cb.sendNotice(privateMemberMenu, userInPrivate, bgColor_teamMenu, fontColor_teamMenu, 'bold') } } /*function refreshFanMenu() { if (userInPrivate != null && privateFanMenu != '') { cb.sendNotice(privateFanMenu, cb.room_slug, '', 'green', 'bold') cb.sendNotice(privateFanMenu, userInPrivate, '', 'green', 'bold') } }*/ cb.setTimeout(refreshTitle, 1*1000) cb.setTimeout(refreshMemberMenu, 1.25*1000) //cb.setTimeout(refreshFanMenu, 1.50*1000) //cb.setTimeout(notify_privateMenu,5*60000) // 60 } ////////////////////////////// CB FUNCTIONS /////////////////////////////// cb.onTip(function(tip) { var tipAmount = tip["amount"] var optionMsg = tip["message"] var name = tip["from_user"] var isFan = tip["from_user_in_fanclub"]; var isMod = tip['from_user_is_mod']; var modelName = cb.room_slug //-- allHit = ++allHit //-- allTipAmount += tipAmount totalTokens += tipAmount //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 // is user in tipper array? if (!tippers[name]) { // tippers is the array , [name] is the tip from user //nope add them tippers[name] = {username: name, team: "", tips: 0, lasttip: 0, biggesttip: 0, hdtips: 0}; } /*if (!tippers[name].tips) { tippers[name].tips = 0; }*/ tippers[name].tips += tipAmount tippers[name].lasttip = tipAmount if (tippers[name].lasttip > tippers[name].biggesttip) tippers[name].biggesttip = tipAmount //if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), name) && salon == 'public' && team == 'open') { /*if (!teamArray.includes(name) && salon == 'public' && teamOpen) { teamArray.push(name) //cb.limitCam_addUsers([name]) tippers[name].team = '[T]' }*/ ///////////////////////////////////////////////////////////////////////////////////////////// /*if (challenges.tokens) { ori //if (!challenges.tipSize || challenges.tips || challenges.tipSize == tipAmount) { challenges.tokens -= tipAmount; if (challenges.tokens < 0) challenges.tokens = 0; //} } if (challenges.tips) { if (!challenges.tipSize || challenges.tipSize == tipAmount) { challenges.tips -= 1; if (challenges.tips < 0) challenges.tips = 0; } } if (challenges.tippers) { if (!challenges.tipSize || (challenges.tips && challenges.tokens) || challenges.tipSize == tipAmount) { let tipper = t.getUser().getName(); if (!(tipper in tippers && tippers[tipper])) { challenges.tippers -=1; if (challenges.tippers < 0) challenges.tippers = 0; //tippers[tipper] = true; } } } if (!challenges.tips && !challenges.tippers && !challenges.tokens) { onGoalReached(); } else { //sys.setSubject(); cb.drawPanel(); }*/ //////////////////// /*if(name != userInPrivate && tipAmount > 8 && tipAmount < 100) { // lou if (lushChallenge.tokens) { lushChallenge.tokens -= tipAmount; if (lushChallenge.tokens < 0) lushChallenge.tokens = 0 if (!lushChallenge.tokens) { onLushChallengeReached(name) } } }*/ /////////////// //// if (optionMsg) cb.chatNotice(name+' ['+tippers[name].tips+'] tipnoted : '+optionMsg, modelName, bgColor_tipNote, fontColor_tipNote, 'bold') // check to see if tip was for a dice roll roll = 0 if (tipAmount >= rollPrice && (tipAmount % rollPrice == 0)) { roll = 1 for (var i = rollPrice; i <= tipAmount; i+= rollPrice) { if (i <= maxTip) { fc_roll(name); tipsDice += rollPrice //cb.chatNotice ("roll "+i+" tipDice "+tipsDice) } } if (tipAmount > maxTip) fc_tipGreatly(name, tipAmount) } if (salon == "public") { if ( basicMenuArray2["amount"].includes(tipAmount) ) { // MENU 2, 22, 16, 36, 46, 56, 66 i = basicMenuArray2["amount"].indexOf(tipAmount) perform = basicMenuArray2["perform"][i] /*if( (tipAmount == 36 || tipAmount == 46 || tipAmount == 73 || tipAmount == 72 || tipAmount == 108 || tipAmount == 112 || tipAmount == 113 || tipAmount == 148 || tipAmount == 186 || tipAmount == 246 || tipAmount == 765) && basicMenuOn) { clicksMenu++ tipsMenu += tipAmount thanks = 'All enjoy and thank you !' cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform+'. '+thanks, '', bgColor_tipMenu, fontColor_tipMenu, 'bold') } else if (tipAmount == 25 && privateOpen) { clicksMenu++ tipsMenu += tipAmount thanks = 'All thank you for being classy !' pmPrivateShowArray.push(name) // pm - private show -> push dans quelle array ? // chat disconnected while "pm - private show" -> Use PM to keep private our discuss. //soloMinuteUserArray.push(name) // pm - private show -> push dans quelle array ? cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform+'. '+thanks, '', bgColor_tipMenu, fontColor_tipMenu, 'bold') } else { // all tips are greatly appreciated if (!roll) fc_tipGreatly(name, tipAmount) }*/ if (tipAmount == pmAmount && privateOpen) { clicksMenu++ tipsMenu += tipAmount thanks = 'All thank you for being classy !' pmPrivateShowArray.push(name) // pm - private show -> push dans quelle array ? // chat disconnected while "pm - private show" -> Use PM to keep private our discuss. //soloMinuteUserArray.push(name) // pm - private show -> push dans quelle array ? cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform+'. '+thanks, '', bgColor_tipMenu, fontColor_tipMenu, 'bold') } else if (tipAmount != pmAmount && basicMenuOn) { clicksMenu++ tipsMenu += tipAmount thanks = 'All enjoy and thank you !' cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform+'. '+thanks, '', bgColor_tipMenu, fontColor_tipMenu, 'bold') } else { // all tips are greatly appreciated if (!roll) fc_tipGreatly(name, tipAmount) } } else if ( tipAmount == 40 && lushOn) { // RANDOM clicksLush++ tipsLush += tipAmount } else if ( lushMenuArray["amount"].includes(tipAmount) && lushOn) { // LUSH MENU 1, 15, 50, 100, 500 i = lushMenuArray["amount"].indexOf(tipAmount) level = lushMenuArray["level"][i] perform = lushMenuArray["perform"][i] clicksLush++ tipsLush += tipAmount if(tipAmount != 1) { //cb.chatNotice(tippers[name].team+' '+name+' has activated '+level+' : '+perform+'.', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') } } else if ( paternMenuArray["amount"].includes(tipAmount) && lushOn) { // PATERN MENU 120, 150, 180 i = paternMenuArray["amount"].indexOf(tipAmount) level = paternMenuArray["level"][i] perform = paternMenuArray["perform"][i] clicksLush++ tipsLush += tipAmount //cb.chatNotice(tippers[name].team+' '+name+' has activated '+level+' : '+perform+'.', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') } else if ( poll["amount"].includes(tipAmount) && challenges.poll ) { i = poll["amount"].indexOf(tipAmount) poll["statHit"][i] += 1 perform = poll["perform"][i] thanks = poll["statHit"][i]+' votes' cb.chatNotice(tippers[name].team+' '+name+' has voted for '+perform+'.', '', 'black', 'white', 'bold') } else { // all tips are greatly appreciated if (!roll) fc_tipGreatly(name, tipAmount) } } else if (salon == '[T]eam show') { if( lushMenuArray["amount"].includes(tipAmount) && lushOn) { // LUSH MENU 1, 15, 45, 75, 455 i = lushMenuArray["amount"].indexOf(tipAmount) level = lushMenuArray["level"][i] perform = lushMenuArray["perform"][i] clicksLush++ tipsLush += tipAmount if(tipAmount != 1) { cb.chatNotice(level+' : Lovense '+perform+'. All [T]eam enjoy and thanks '+tippers[name].team+' '+name+' !', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') } } else if( paternMenuArray["amount"].includes(tipAmount) && lushOn) { // PATERN MENU 125, 135, 225, 235 i = paternMenuArray["amount"].indexOf(tipAmount) level = paternMenuArray["level"][i] perform = paternMenuArray["perform"][i] clicksLush++ tipsLush += tipAmount cb.chatNotice(level+' : Lovense vibes '+perform+'. All [T]eam enjoy and thanks '+tippers[name].team+' '+name+' !', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') } else { // all tips are greatly appreciated fc_tipGreatly(name, tipAmount) } } else { if (name == userInPrivate) { // fingerRate = (!isFan ? 250 : 200) dildoRate = (!isFan ? 500 : 400) control1Rate = (!isFan ? 1000 : 800) control2Rate = (!isFan ? 2000 : 1600) control3Rate = (!isFan ? 2600 : 2080) // if( (lushMenuArray["amount"].includes(tipAmount) || paternMenuArray["amount"].includes(tipAmount) || tipAmount == 40 ) && lushOn && optionMsg != 'play') { // LUSH MENU 1, 15, 45, 75, 455 clicksLush++ tipsLush += tipAmount } /*else if ((tipAmount == 300) && privateOpen ) {// FETISH bankFetish += tipAmount perform = 'Fetish while private show. ' cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform + '\n In bankMember:'+bankMember+' tokens | fingerRate:'+fingerRate+' | dildoRate:'+dildoRate+' | control1Rate:'+control1Rate+' | control2Rate:'+control2Rate + '\n In bankFetish:'+bankFetish+' tokens' , cb.room_slug, bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') }*/ //else if ((tipAmount == (fingerRate-bankMember) || tipAmount == (dildoRate-bankMember) || tipAmount == (control1Rate-bankMember) || tipAmount == (control2Rate-bankMember) || tipAmount == (control3Rate-bankMember)) && privateOpen ) { else if ( (tipAmount == 101 || tipAmount == 202 || tipAmount == 303 || tipAmount == 404 ) && privateOpen ) { perform = '' kiss = '' if (tipAmount == 101 && !bankPerform.match("Finger")) { bankMember += tipAmount perform = 'PLAY Finger' } else if (tipAmount == 202 && !bankPerform.match("Dildo")) { bankMember += tipAmount perform = 'PLAY Dildo' } else if (tipAmount == 303 && !bankPerform.match("Lush")) { bankMember += tipAmount perform = 'PLAY Lush' } /*if (tipAmount == (fingerRate-bankMember)) { bankMember += tipAmount perform = 'PLAY Finger' kiss = ':kissi' } else if (tipAmount == (dildoRate-bankMember)) { bankMember += tipAmount perform = 'PLAY Dildo' kiss = ':kissi:kissi' } else if (tipAmount == (control1Rate-bankMember)) { ///////////// bankMember += tipAmount clicksPrivateShow++ tipsPrivateShow += tipAmount perform = 'PLAY LOVENSE, Control 1 toy' kiss = ':kissi:kissi:kissi' } else if (tipAmount == (control2Rate-bankMember)) { ///////////// bankMember += tipAmount clicksPrivateShow++ tipsPrivateShow += tipAmount perform = 'PLAY LOVENSE, Control 2 toys altern' kiss = ':kissi:kissi:kissi:kissi ' } else if (tipAmount == (control3Rate-bankMember)) { ///////////// bankMember += tipAmount clicksPrivateShow++ tipsPrivateShow += tipAmount perform = 'PLAY LOVENSE, Control 2 toys simultan' kiss = ':kissi:kissi:kissi:kissi:kissi ' }*/ if (perform != '') { bankPerform += perform cb.chatNotice( perform+' is now included to the show.' + '\n In bankMember:'+bankMember+' tokens' + '\n In bankFetish:'+bankFetish+' tokens' , modelName, (!isFan ? bgColor_tipTeamMenu :'green'), fontColor_tipTeamMenu, 'bold') cb.chatNotice(perform+' is now included to the show. Thank you! '+kiss //+ '\n In bankMember:'+bankMember+' tokens' //+ '\n In bankFetish:'+bankFetish+' tokens' , userInPrivate, (!isFan ? bgColor_tipTeamMenu :'green'), fontColor_tipTeamMenu, 'bold') // function test() { out = '' //dashLine = '--------------------------------------------------------' fingerDesc = (!bankPerform.match("Finger") ? "* Fingere 101" : "") dildoDesc = (!bankPerform.match("Dildo") ? "* Dildodo 202" : "") privateMemberMenu = (!bankPerform.match("Finger") ? emoStar+" Finger (101 tokens)" : "")+(!bankPerform.match("Dildo") ? emoStar+" Dildo (101 tokens)" : "") privateFanMenu = fingerDesc+dildoDesc out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub'+(bankPerform.match("Finger") ? ", Finger" : "")+(bankPerform.match("Dildo") ? ", Dildo" : "")+' \n' +dashLine + '\n' //Private show options :' /*function refreshMemberMenu() { if (privateMemberMenu != null) cb.sendNotice(privateMemberMenu, cb.room_slug, '', '', 'bold') cb.sendNotice(privateMemberMenu, userInPrivate, '', '', 'bold') } function refreshFanMenu() { if (privateFanMenu != null) cb.sendNotice(privateFanMenu, cb.room_slug, '', 'green', 'bold') cb.sendNotice(privateFanMenu, userInPrivate, '', 'green', 'bold') } cb.setTimeout(refreshMemberMenu, 1.25*1000) cb.setTimeout(refreshFanMenu, 1.50*1000) */ notify_privateMenu("has decreased !") cb.chatNotice(out, userInPrivate, '', (isFan?'green':'')) cb.chatNotice(out, modelName, '', (isFan?'green':'')) } cb.setTimeout(test,1*1000) //notify_privateMenu() // } } } else { // all tips are greatly appreciated fc_tipGreatly(name, tipAmount) } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// if(challenges.tokens) { // lou if(name != userInPrivate) { challenges.tokens -= tipAmount if (tipAmount == challenges.ticketPrice && !teamArray.includes(name)) teamArray.push(name), tippers[name].team = '[T]', cb.chatNotice('Ticket sold to '+tippers[name].team+' '+name+'.', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') if (challenges.tokens < 0) challenges.tokens = 0; cb.drawPanel(); } if (!challenges.tokens) { if (challenges.poll) { tipPollMenux ="" for (x = 0; x < poll["amount"].length; x++){ // POLL performx = poll["perform"][x] spacex = poll["space"][x] amountx = poll["amount"][x] hitx = poll["statHit"][x] if (!privateOpen){ tipPollMenux += emoStar+' '+performx+' '+spacex+' ['+hitx+' votes ] \n' } else { tipPollMenu += emoStar+' '+perform+' ('+amount+') ' } } cb.chatNotice(emoStar3+' POLL RESULT '+emoStar3+' \n '+tipPollMenux+' '+emoStar3, '', 'black', 'yellow', 'bold') } onGoalReached(); } } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// }) cb.onMessage(function(message) { var msgParam = message["m"].split(" ") var name = message['user'] var msg = message['m'] var isMod = message['is_mod'] var isFan = message['in_fanclub'] var isModel = (name == cb.room_slug) var hasTokens = message['has_tokens'] //var hasTipped = (message['tipped_recently'] || message['tipped_alot_recently'] || message['tipped_tons_recently']) var hasTipped = (message['tipped_recently']) var hasTippedModel = (tippers[name]); var isGrey = !(hasTipped || hasTokens || isMod || isModel || isFan) var modelName = cb.room_slug var isReal = (cb.room_slug == 'loulouw') /*if (isGrey) { cb.chatNotice('This performer does not allow accounts without tokens to chat, please purchase tokens or use an account with tokens to chat here',msg['user'],'','','bold'); message['X-Spam'] = true; msg = "**Chat silenced**"; }*/ 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 "/fan": if (msgParam[1] == "yes") { //fc_fanTest(true) isFan = true } if (msgParam[1] == "no") { //fc_fanTest(false) isFan = false } break case "/pvt": if(msgParam[1] == 'on' || msgParam[1] == 'off' ) { privateBefore = privateOpen privateOpen = msgParam[1] if (msgParam[1] == 'on') privateOpen = true if (msgParam[1] == 'off') privateOpen = false if (privateBefore != privateOpen) { //cb.changeRoomSubject( 'No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.changeRoomSubject(topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); msg = msg+' -> ok.' } else msg = msg+' -> :alert1 /pvt is already '+msgParam[1]+'.' } else if (msgParam[1] == "menu") { if (userInPrivate != null) notify_privateMenu("") else msg = msg+' -> :alert1 "userInPrivate" is missing. Type /cam discuss or session or minute and "username".' } else { msg = msg+' -> :alert1 Type /cam "on", "off" or "menu".' } break case "/goal": let newChallenges = { tokens : 0, tipSize : 0, tippers : 0, tips : 0, ticketPrice : 0, poll : 0, }; while (msgParam.length > 0) { let param = msgParam.shift(); let match = []; if (match = param.match(/^(off|none)$/i)) { //sendSuccess("Goal was successfully removed.", m.getUser()); //sendNotice ("The goal was removed." , "" ); resetGoal(); //sys.setSubject(); //cb.changeRoomSubject( 'No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.changeRoomSubject(topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.drawPanel(); //return true // This line type on chat -> lou_west : /goal off } if (match = param.match(/^(\d+)(?:total)?$/i)) { if (match && match[1]) { newChallenges.tokens = match[1]; } continue; } if (match = param.match(/^(\d+)(?:tokens?|jetons?)$/i)) { if (match && match[1]) { newChallenges.tipSize = match[1]; } continue; } if (match = param.match(/^(\d+)(?:tippers?|lovers?)$/i)) { if (match && match[1]) { newChallenges.tippers = match[1]; } continue; } if (match = param.match(/^(\d+)(?:tips?|times?|x|fois)$/i)) { if (match && match[1]) { newChallenges.tips = match[1]; } continue; } if (match = param.match(/^(\d+)(?:perticket)$/i)) { if (match && match[1]) { newChallenges.ticketPrice = match[1]; } continue; } if (match = param.match(/^(\d+)(?:poll|vote)$/i)) { if (match && match[1]) { newChallenges.poll = match[1]; } continue; } //sendFailure("Could not parse parameter \"" + param + "\"", m.getUser()); } // cb.chatNotice(newChallenges) //only for test new challenge array challenges = newChallenges; cb.drawPanel() break case"/goald": out = '' if (msgParam[1] == "p" || msgParam[1] == "h") { if (msgParam[1] == "p") { // for public goal goalDes = msg.replace("/goald p","") } else if (msgParam[1] == "h") { // for hidden goal goalDesTemp = msg.replace("/goald h","") goalDes = goalDesTemp+" hidden show" } cb.changeRoomSubject( goalDes+'@goal | '+topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); //cb.changeRoomSubject( goalDes+'@goal | No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); //cb.changeRoomSubject( goalDes+'@goal'+goalShowInProgress+' | No request. '+(lushOn && challenges.tokens ? 'Tips for appreciation, goal and #lush vibes | ' : challenges.tokens ? 'Tips for appreciation and goal | ' : lushOn ? 'Tips for appreciation and #lush vibes | ' : 'Tips for appreciation |')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.drawPanel() } break case "/cam": //cb.sendNotice(cam_level+' -If you are using phone or tablet, make your device flash compatible (or you will not be able to watch hidden stream !) \nInstall 1 of this 3 free flash browser : Abacus, Photon or Dolphin') if (msgParam[1] == "team") { if (salon == 'public') { salon = '[T]eam show' // in transition cb.chatNotice(':alert1 '+salon+' in progress. "Lush menu" '+(lushOn ? 'active' : 'disabled')+'. :alert1 ', '', '', '', 'bold') } //cb.chatNotice('Team '+(teamOpen ? 'Open' : 'Closed'), modelName, '#ead9d7') if (teamArray.length > 0) { for (i = 0; i < teamArray.length; ++i) { userName = teamArray[i] cb.limitCam_addUsers([userName]) cb.chatNotice('[Personnal note to [T]eam member '+userName+'] ' +'If you have a black screen, reload page (F5) to enjoy [T]eam show.' ,userName ) } //cb.chatNotice('Team member : '+teamArray+' enjoying '+salon+'.', modelName, '#d8d8d8') // gris msg = msg+' -> '+teamArray.length+' members enjoying '+salon+'.' message['background'] = "linear-gradient(to right bottom, #FFFFFF, #ead9d7 70%)"; // rouge } if (cb.limitCam_allUsersWithAccess().lenght == teamArray.lenght ) { cb.limitCam_start() } } else if (msgParam[1] == "discuss" || msgParam[1] == "session" || msgParam[1] == "minute" ) { //solo session if (msgParam[1] == "discuss") { //discuss private expectation if (msgParam[2]) { if( visitorsArray.includes(msgParam[2]) ) { if( salon == "public" ) { // salon public en cours if( gentlemanArray.includes(msgParam[2]) || pmPrivateShowArray.includes(msgParam[2]) ) { message['background'] = "linear-gradient(to right bottom, #FFFFFF, #ead9d7 70%)"; // salon = "Private discuss" cb.chatNotice(':alert1 Public room, menus, chat suspended. :alert1 ', '', '', '', 'bold') userInPrivate = msgParam[2] cb.limitCam_addUsers(msgParam[2]) cb.limitCam_start() if( gentlemanArray.includes(msgParam[2]) ) { msg = msg+' -> '+salon+' in progress with GENTLEMAN "'+msgParam[2]+'"' } else if( pmPrivateShowArray.includes(msgParam[2]) ) { msg = msg+' -> '+salon+' in progress with "'+msgParam[2]+'"' } } else { message['X-Spam'] = false; message['background'] = "linear-gradient(to right, #FFFFFF 15%, lightsalmon 70%)" message['f'] = "courier" msg = ' @ '+msgParam[2]+' -> Tip 22 tokens to discuss about private show expectations. Thank you.' } } else { msg = msg+' -> :alert1 '+salon+' in progress.' } } else { msg = msg+' -> :alert1 "'+msgParam[2]+'" is invalid name or "'+msgParam[2]+'" should reload page.' } } else { //cb.chatNotice('Specify user name in private session -> /cam session "username"', modelName, '#d8d8d8') msg = msg+' -> :alert1 /cam discuss "username" missing. ' } } else if (msgParam[1] == "session" || msgParam[1] == "minute") { //private session or minute request if (msgParam[2]) { // request name if (salon == "Private discuss") { // private discuss en cours //cam is hidden yet if (cb.limitCam_allUsersWithAccess() == msgParam[2] ) { message['background'] = "linear-gradient(to right bottom, #FFFFFF, #ead9d7 70%)"; // salon = "Private "+msgParam[1] if (salon == "Private minute") cb.limitCam_stop(); if( gentlemanArray.includes(msgParam[2]) ) { msg = msg+' -> '+salon+' in progress with GENTLEMAN *** "'+msgParam[2]+'"' } else if( pmPrivateShowArray.includes(msgParam[2]) ) { msg = msg+' -> '+salon+' in progress with "'+msgParam[2]+'"' } } else { msg = msg+' -> :alert1 '+salon+' in progress yet with member ('+cb.limitCam_allUsersWithAccess()+')' } } else if (salon == "public") { // public en cours msg = msg+' -> :alert1 Toujours discuter avant un privé -> /cam discuss '+msgParam[2] } else { msg = msg+' -> :alert1 '+salon+' in progress.' } } else { msg = msg+' -> :alert1 /cam '+msgParam[1]+' "username" missing. ' } } /*if (msgParam[1] == "session" && !msgParam[2]) { //session if (soloSessionUserArray[0] ) { salon = 'session' cb.limitCam_start() cb.limitCam_addUsers([soloSessionUserArray[0]]) cb.chatNotice( 'Dolly '+salon+' '+(cb.limitCam_allUsersWithAccess().length)+' '+(cb.limitCam_userHasAccess(soloSessionUserArray[0])), modelName, '#d8d8d8') } } else if (msgParam[1] == "session" && msgParam[2] == "stop") { //solo session stop salon = 'public' cb.limitCam_removeUsers([soloSessionUserArray[0]]) soloSessionUserArray.splice(0, 1) cb.limitCam_stop() } else if (msgParam[1] == "minute" && msgParam[2] == "stop") { //solo per min stop salon = 'public' soloMinuteUserArray.splice(0, 1) } else if (msgParam[1] == "minute") { //solo per min if (msgParam[2]) { if ( pmPrivateShowArray.includes(msgParam[2]) ) { salon = 'pvtmin' soloMinuteUserArray.push(msgParam[2]) cb.chatNotice( soloMinuteUserArray+' is in soloMinuteUserArray', modelName, '#d8d8d8') } else { cb.chatNotice(msgParam[2]+' is not in PM private show array. Option are :' + '\n A -> ' + '\n B -> ' , modelName, '#d8d8d8') } } else { cb.chatNotice('Specify user name in solo per min -> /cam minute "username"', modelName, '#d8d8d8') } }*/ } else if (msgParam[1] == "public") { // standby /pause cb.limitCam_stop(); cb.chatNotice('Cam public | Team '+(teamOpen ? 'Open' : 'Closed')+' | Salon '+salon+' | Lush '+(lushOn ? 'on' : 'off')+'. Type /cam stop', modelName, '#ff0000', '#ffffff') } else if (msgParam[1] == "stop" ) { // stop out = '' if (salon == "[T]eam show" ) { wichArray = teamArray } else if (salon == "Private discuss" || salon == "Private session" || salon == "Private minute"){ wichArray = cb.limitCam_allUsersWithAccess() } out = wichArray.length+' members have been removed from '+salon cb.limitCam_removeUsers(wichArray) cb.limitCam_stop(); teamOpen = true userInPrivate = null /*fingerRate = null dildoRate = null control1Rate = null control2Rate = null */ privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Finger ('+(250-bankMember)+') '+emoStar+' Dildo ('+(500-bankMember)+') '+emoStar+' Control 1 toy ('+(1000-bankMember)+') '+emoStar+' Control 2 toy altern ('+(2000-bankMember)+') '+emoStar+' Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Finger ('+(200-bankMember)+') '+emoStar+' Dildo ('+(400-bankMember)+') '+emoStar+' Control 1 toy ('+(800-bankMember)+') '+emoStar+' Control 2 toy altern ('+(1600-bankMember)+') '+emoStar+' Control 2 toys simultan ('+(2080-bankMember)+')' bankMember = 0 cb.chatNotice(':thumbup Public room, menus, chat enabled :thumbup', '', '', '', 'bold') room = 'public' salon = 'public' //cb.chatNotice(out+". Team is open.", modelName, '#ff0000', '#ffffff') // rouge vif msg = msg+' -> '+out message['background'] = "linear-gradient(to right bottom, #FFFFFF, #ead9d7 70%)"; // rouge fc_hgMenu() fc_lush() } else if (msgParam[1] == "list" ) { // list var userlist = cb.limitCam_allUsersWithAccess(); if (userlist.length > 0) { cb.chatNotice("" +userlist.length+ (userlist.length > 1 ? " users" : " user") + " in show: \n" +cbjs.arrayJoin(userlist, "\n "), modelName, '#d8d8d8'); } else { cb.chatNotice("No users in show.", modelName, '#d8d8d8'); } } else { // commands are : cb.chatNotice("Cam commande are: team, discuss, session, minute, public, stop, list", modelName, '#d8d8d8') } break case "/salon": if ( msgParam[1] == 'pvtoff' || msgParam[1] == 'minute' || msgParam[1] == 'session' || msgParam[1] == 'BJ' || msgParam[1] == 'cum' || (msgParam[1] == 'rub' && msgParam[2] == 'kitty') || (msgParam[1] == 'dildo' && msgParam[2] == 'kitty') ) { if ( msgParam[1] == 'BJ' || msgParam[1] == 'cum' || (msgParam[1] == 'rub' && msgParam[2] == 'kitty') || (msgParam[1] == 'dildo' && msgParam[2] == 'kitty') ) { out = '' if (msgParam[2]) { salon = msgParam[1]+' '+msgParam[2] } else { salon = msgParam[1] } cb.chatNotice('Salon: '+salon+' | Team '+(teamOpen ? 'Open' : 'Closed')+' | Lush '+lushOn+' '+out, modelName, '#ead9d7') fc_hgMenu() fc_lush() } else if ( msgParam[1] == 'minute' || msgParam[1] == 'session'){ privateOpen = true cb.chatNotice(' **** Private open. Tip "PM - private show (22)" to discuss private expectations before join the private. ***** ','','','','bold') } else if ( msgParam[1] == 'pvtoff') { privateOpen = false cb.chatNotice(' :alert1 Private and PM for private show discuss closed. :alert1 ', '','','','bold') } } else { cb.chatNotice('/salon command are "minute" "session" "pvtoff" "BJ" "cum" "rub kitty" and "dildo kitty"', modelName, '#d8d8d8')} break case "/team": if ( msgParam[1] == 'open' || msgParam[1] == 'close') { out ='' if(msgParam[1] == 'open') { teamOpen = true out = '(x minutes left to complete the team ). Tip (of your choice) to join the team and enjoy the hidden show.' } if(msgParam[1] == 'close') { teamOpen = false out = 'Team is completed (close).' } cb.chatNotice('Team is '+(teamOpen ? 'Open' : 'Closed')+' -> '+out, modelName, '#ead9d7') } break case "/pass": case "/password": if ( msgParam[1] == 'on' || msgParam[1] == 'off' ) { pass = msgParam[1] cb.chatNotice('LOU APP - Password is '+pass, modelName, '#ead9d7') if (pass == 'on') { if (lushOn) { cb.chatNotice(':alert1 Room passworded 20 minutes for PRIVATE SHOW. Public and lush menu suspended. Any tip menu will not be honoured. :alert1 ', '', '', '', 'bold') cb.chatNotice('ENLEVER LE LUSH !', modelName, '#ead9d7') } else { cb.chatNotice(':alert1 Room passworded for PRIVATE SHOW. Public menu suspended. Any tip menu will not be honoured. :alert1 ', '', '', '', 'bold') } } else { fc_hgMenu() fc_lush() } } break case '/tipper': if (!msgParam[1]) { msgParam[1] = 0; } else { msgParam[1] = Number(msgParam[1]) } cb.chatNotice(getTippers(msgParam[1]), modelName, '#ead9d7') break; case '/gentleman': if (msgParam[1]) { if (msgParam[1] == 'list') { out = '' for (i = 0; i < gentlemanKinks.length; i++) { out += '\n'+gentlemanKinks[i].name+' -> '+gentlemanKinks[i].test } cb.chatNotice('Gentleman List : '+out, modelName, '#ead9d7') //cb.chatNotice('Gentleman List : '+(gentlemanArray.join(', ')), modelName, '#ead9d7') } else { if ( visitorsArray.includes(msgParam[1]) ) { message['background'] = "linear-gradient(to right bottom, #FFFFFF, #ead9d7 70%)"; // if ( !gentlemanArray.includes(msgParam[1]) ) { gentlemanArray.push(msgParam[1]) msg = msg+' -> "'+msgParam[1]+'" added in gentleman list. ' } else { msg = msg+' -> "'+msgParam[1]+'" is in gentleman list. ' } } else { msg = msg+' -> :alert1 "'+msgParam[1]+'" is invalid name or "'+msgParam[1]+'" should reload page. ' } } } else { msg = msg+' -> :alert1 commands are "list", "username". ' } break case "/help": cb.chatNotice(helpNotice, modelName, '#ead9d7') break case "/menu": //fc_menuBis(msgParam[1], name) if(msgParam[1] == 'on' || msgParam[1] == 'off' ) { basicMenuBefore = basicMenuOn basicMenuOn = msgParam[1] if (msgParam[1] == 'on') { basicMenuOn = true } else if (msgParam[1] == 'off') { basicMenuOn = false } if(basicMenuBefore != basicMenuOn) { msg = msg+' -> ok -> '+(basicMenuOn ? 'Enable' : 'Disabled')+' on public chat.' cb.changeRoomSubject( (challenges.tokens && goalDes !=null ? goalDes+'@goal | ' : goalDes !=null ? goalDes+' | ' : '' )+topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); //cb.changeRoomSubject( (challenges.tokens && goalDes !=null ? goalDes+'@goal | ' : goalDes !=null ? goalDes+' | ' : '' )+'No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); } } else cb.chatNotice('/menu command are "on" or "off".', modelName, '#d8d8d8') break case "/stat": //fc_showStat() cb.chatNotice( 'Menu: '+clicksMenu+' click, '+tipsMenu+' tokens' +'\n Support: '+clicksSupport+' click, '+tipsSupport+' tokens' +'\n Lush: '+clicksLush+' click, '+tipsLush+' tokens' +'\n Private: '+clicksPrivateShow+' click, '+tipsPrivateShow+' tokens' +'\n RollDice: ?? click, '+tipsDice+' tokens' +'\n Total: '+(clicksMenu+clicksSupport+clicksLush+clicksPrivateShow)+' click, '+(tipsMenu+tipsSupport+tipsLush+tipsPrivateShow+tipsDice)+' tokens (REAL: '+totalTokens+' tokens)' +'\n Viewvers: '+visitorsArray.length+' Guest Registred' +'\n Salon: '+salon+' | Team '+(teamOpen ? 'Open' : 'Closed')+' | Lush '+(lushOn ? 'on' : 'off') +' Private '+(privateOpen ? 'OPEN' : 'CLOSED')+' | '+(salon == 'Private discuss' || salon == 'Private session' || salon == 'Private minute' ? salon+' in progress with '+cb.limitCam_allUsersWithAccess() : '')+' |' +'\n Team Array '+teamArray+' | member in hidden cam : '+cb.limitCam_allUsersWithAccess() , modelName, '#ead9d7') break case "/lush": if(msgParam[1] == 'on' || msgParam[1] == 'off' ) { lushBefore = lushOn lushOn = msgParam[1] if (msgParam[1] == 'on') lushOn = true else if (msgParam[1] == 'off') lushOn = false if(lushBefore != lushOn) { msg = msg+' -> ok -> '+(lushOn ? 'Enable' : 'Disabled')+' lovense extention in browser.' //cb.changeRoomSubject( 'No request. '+(lushOn ? 'Tips for appreciation and #lush vibes | ' : 'Tips for appreciation | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); //cb.changeRoomSubject( (challenges.tokens && goalDes !=null ? goalDes+'@goal | ' : goalDes !=null ? goalDes+' | ' : '' )+'No request. Tips for appreciation'+(lushOn && basicMenuOn ? ', menu and #lush vibes | ' : lushOn ? ' and #lush vibes | ' : basicMenuOn ? ' and menu | ' : ' | ')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); cb.changeRoomSubject( (challenges.tokens && goalDes !=null ? goalDes+'@goal | ' : goalDes !=null ? goalDes+' | ' : '' )+topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); } } else cb.chatNotice('/lush command are "on" or "off".', modelName, '#d8d8d8') break case "/m" : nb = parseInt(msgParam[1]); if (basicMenuArray2["amount"].includes(nb) ) { i = basicMenuArray2["amount"].indexOf(nb) perform = basicMenuArray2["perform"][i] amount = basicMenuArray2["amount"][i] message['X-Spam'] = false; message['background'] = "linear-gradient(to right, #FFFFFF 15%, lightsalmon 70%)" message['f'] = "courier" msg = perform+" : "+amount+" tokens ;)" } break case "/topic": topic = msg.replace('/topic','') cb.changeRoomSubject( (challenges.tokens && goalDes !=null ? goalDes+'@goal | ' : goalDes !=null ? goalDes+' | ' : '' )+topic+' '+(lushOn ? lushTopic : '')+(privateOpen ? 'Pvt open | ' : '')+'Real#french #bbw #bigboobs #hairy #mature #lovense'); break } } else { // to right bottom, #FFFFFF, lightsalmon 70% message['background'] = "linear-gradient(to right, #FFFFFF 15%, lightsalmon 70%)" message['f'] = "courier" //message['c'] = "lightsalmon" level = "" vibe = "" //if ( msg.match("--------") ) message['background'] = "" , message['X-Spam'] = true //msg = "po po" //if ( msgParam[0] == "********My" && msgParam[14] == "seconds!" ) message['background'] = "" , msg = "po po "+msgParam[7]+" "+msgParam[13]+" seconds "//message['X-Spam'] = true //if ( msgParam[0] == "********My" ) message['background'] = "" , message['X-Spam'] = true //msg = "" //if ( msg.match(/\*+My LOVENSE is now reacting to (.+)'s tip. It will stop after (.+) seconds!/g)) msg = "<< $1 -- $2 >>" //msg = msg.replace(/.+/,"["+salon+" in progress. Public chat disabled]") //msg = msg.replace(/\*+My LOVENSE is now reacting to (.+)'s tip. It will stop after (.+) seconds!/, "<< $& >>" ) //msg = msg.replace(/(\w+)(?='s)|(\d+)(?= seconds)/g, "<< $& >>" ) //if ( msgParam[0] == "********My" )message['background'] = "" //msg.match("has RANDOMLY activated level") ? random = "random" : random = "" if (msg.match("1 seconds!")) level = "Level1", vibe = "Low" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #ffe6f0 70%)" //, random = random if (msg.match("4 seconds!")) level = "Level2", vibe = "Medium" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #ffb3d1 70%)" //, random = random if (msg.match("7 seconds!")) level = "Level3", vibe = "Hight" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #ff80b3 70%)" //, random = random if (msg.match("10 seconds!")) level = "Level4", vibe = "Ultra" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #ff4d94 70%)" //, random = random if (msg.match("60 seconds!")) level = "Level5", vibe = "Ultra" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #e60073 70%)" //, random = random if (msg.match("20 seconds!")) level = "Patern :level1medred", vibe = "Waves" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, f5ccff 70%)" //, random = random if (msg.match("25 seconds!")) level = "Patern :level2medred", vibe = "Earth" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #df80ff 70%)" //, random = random if (msg.match("30 seconds!")) level = "Patern :level3medred", vibe = "Fireworks" , message['background'] = "linear-gradient(to right, #FFFFFF 15%, #c61aff 70%)" //, random = random if (msg.match("--------")) message['background'] = "" , message['c'] = "#ff6699" var regex1_0 = /.+"(\w+)(?='s).+(\d+)(?= seconds!).+/g var regex1_1 = /.+ (\w+)(?='s).+ (\d+)(?= seconds).+/g; var regex2_0 = /.+"(\w+)(?= has) has RANDOMLY activated level ALL in (\d+)(?= by).+/g; var regex2_1 = /.+ (\w+)(?= has) has RANDOMLY activated level ALL in (\d+)(?= by).+/g; //msg = msg.replace(regex, emoStar3+' '+level+' - '+vibe+'. My toy is now $2 seconds reacting to $1\'s tip.') //msg = msg.replace(regex2, emoStar3+' $1 has RANDOMLY activated level $2'); if (msg.match(regex1_0)) { msg = msg.replace(regex1_0, emoStar+' '+vibe+' '+emoStar+' My toy is now $2 seconds reacting to $1\'s tip.') } else if (msg.match(regex1_1)) { msg = msg.replace(regex1_1, emoStar+' '+vibe+' '+emoStar+' My toy is now $2 seconds reacting to $1\'s tip.') } //if (msg.match(regex2_0)) msg = msg.replace(regex2_0, '* $1 has RANDOMLY activated level $2'); if (msg.match(regex2_0) || msg.match(regex2_1)) { if (msg.match("2 by")) vibe = "4 sec medium vibes" if (msg.match("3 by")) vibe = "7 sec high vibes" if (msg.match("4 by")) vibe = "10 sec ultra vibes" if (msg.match("5 by")) vibe = "60 sec ultra vibes" if (msg.match(regex2_0)) msg = msg.replace(regex2_0, emoStar+' $1 has RANDOMLY activated level $2 '+emoStar+' '+vibe); else if (msg.match(regex2_1)) msg = msg.replace(regex2_1, emoStar+' $1 has RANDOMLY activated level $2 '+emoStar+' '+vibe); } //msg = genderStr+' '+msg; // lou add if ( salon == "Private discuss" || salon == "Private session" || salon == "Private minute") { //cb.chatNotice('[Private chat from '+modelName+' @ '+userInPrivate+'] '+msg, userInPrivate, 'lightsalmon') cb.chatNotice('From '+modelName+' : '+msg, userInPrivate, '', 'lightsalmon' ) message['X-Spam'] = true; msg = '['+salon+' with '+userInPrivate+'] '+msg } } } else if(isMod) { //message['background'] = "linear-gradient(to right, #ffffff 15%, #ffffff 90%, red 102%)" message['c'] = "red" blaz = '[MOD]' if (isFan) blaz = '[MOD][FAN]' if (tippers[name]) { msg = '|'+tippers[name].tips+'| '+blaz+' '+msg cb.chatNotice(name+'|'+tippers[name].tips+'| '+blaz, modelName ) } else msg = blaz+' '+msg } /*else if (!hasTippedOver) { if(msg.indexOf(":") > -1) { msg = msg.replace(/:([^\s]+)/g,"[blocked emote]"); } }*/ /*else if (pmPrivateShowArray.length > 0) { message['X-Spam'] = true; //msg = '[Chat disabled during PM private show]' cb.chatNotice('[Public Chat disabled] '+name+' says: '+msg, modelName, '#d8d8d8') }*/ else if(isFan) { //message['background'] = "linear-gradient(to right, #ffffff 15%, #ffffff 90%, red 102%)" message['c'] = "green" blaz = '[FAN]' //if (isMod) blaz = '[MOD][FAN]' if (tippers[name]) { msg = '|'+tippers[name].tips+'| '+blaz+' '+msg cb.chatNotice(name+'|'+tippers[name].tips+'| '+blaz, modelName ) } else msg = blaz+' '+msg } else if (tippers[name]) { message['c'] = "#00" if ( salon == "Private discuss" || salon == "Private session" || salon == "Private minute") { if (cb.limitCam_allUsersWithAccess() == name) { cb.chatNotice('From '+name+' : '+msg, modelName, '', (isFan?'green':'')) message['X-Spam'] = true; msg = tippers[name].team+'['+tippers[name].tips+'] ['+salon+'] '+msg } else { message['X-Spam'] = true; msg = msg.replace(/.+/,"["+(salon != 'Private discuss' ? 'private' : salon)+" in progress. Public chat disabled]"); } } else if (salon == "[T]eam show" && tippers[name].team != '[T]') { message['X-Spam'] = true; //cb.chatNotice("[ "+salon+" in progress. Public Chat disabled]", name) msg = msg.replace(/.+/,"["+salon+" in progress. Public chat disabled]"); } else { msg = tippers[name].team+'|'+tippers[name].tips+'| '+msg cb.chatNotice(name+' |'+tippers[name].tips+'|', modelName ) } } else { message['c'] = "grey" if ( salon == "Private discuss" || salon == "Private session" || salon == "Private minute") { if (cb.limitCam_allUsersWithAccess() == name) { if (msgParam[0].charAt(0) == "/") { message['background'] = "linear-gradient(to right bottom, #FFFFFF, grey 70%)"; // message['X-Spam'] = true; switch (msgParam[0]) { case "/menu": break } } else { cb.chatNotice(salon+' from '+name+' : '+msg, modelName, '', (isFan?'green':'')) message['X-Spam'] = true; msg = '['+salon+'] '+msg } } else { message['X-Spam'] = true; msg = msg.replace(/.+/,"["+(salon != 'Private discuss' ? 'private' : salon)+" in progress. Public Chat disabled]"); } } else if (salon == "[T]eam show") { message['X-Spam'] = true; //cb.chatNotice("[ "+salon+" in progress. Public Chat disabled]", name) msg = msg.replace(/.+/,"["+salon+" in progress. Public chat disabled]"); } } //msg for roll the dice if (msg.match(/!prizes/i)) { msg['X-Spam'] = true; if (msg.match(/all/i) && ( isMod || isModel)) { showPrizes(); } else { showPrizes(name); } } if (msg.match(/!group/i)) { cb.chatNotice('yep',name,'','','blue') recup('',name,'','',group) } // return final altered message message['m'] = msg; return message; }) //-- fc_init()
© Copyright Chaturbate 2011- 2024. All Rights Reserved.