Bots Home
|
Create an App
Dolly bot - t1
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 var emoStar = '\u2605' var emoStar3 = '\u2605 \u2605' var emoSpace = '\u0020 \u{1F534}' //violet claire #9b3b98 , violet foncé #682166 , jaune fluo #ffff33, vert eau #dcf4df 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", "hervetherev", "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: "hervetherev" , 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 = [] var privateOpen = true // 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) teamOpen = true roomIsPublic = true room = 'public' salon = 'public' var boobs = 'Bare Boobies' var kitty = 'Bare Kitty' var butt = 'Bare Butt' var lovenseApp = 'off' var lushOn = true var nb = 1 bankMember = 0 bankFetish = 0 //function fc_setOptionsRates () { fingerRate = null dildoRate = null control1Rate = null control2Rate = null //} // debut goal module 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 } var onGoalReached = () => { cb.chatNotice("Goal reached! Thank you to all tippers!", "", "", "red"); resetGoal(); //sys.setSubject(); //cb.drawPanel(); } var resetGoal = () => { goalDes = null // lou //tippers = []; challenges = { tokens : 0, tips : 0, tippers : 0, tipSize : 0 } } cb.onDrawPanel(function () { return { 'template': '3_rows_11_22_32', //'row1_label': mvp ? 'Highest tip is ' + mvpNum + ' from ' + mvp + '!' : 'No tips yet...', 'row2_label': 'GOAL', 'row2_value': goalDes, 'row3_label': 'REMAINING', 'row3_value': challenges.tokens+ ' tks' } }); //fin goal module /*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:[2, 22, 16, 36, 46, 56, 66], perform:["Keep personal", "PM PvtShow expectations", "1 SPANK butt", "SUCK Finger", "FLASH "+boobs, "FLASH "+kitty, "FLASH "+butt,], info:[0, 300, 5, 60, 10, 10, 10], statSec:[0, 0, 0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0, 0, 0], statHit:[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, 45, 75, 455], level:["Level 1", "Level 2", "Level 3", "Level 4", "Level 5"], perform:["low vibes 1 sec", "med vibes 3 sec", "hight vibes 6 sec", "ultra vibes 8 sec", "ultra vibes 60 sec"], performSec:[1, 3, 6, 8, 60], statSec:[0, 0, 0, 0, 0], statTok:[0, 0, 0, 0, 0], statHit:[0, 0, 0, 0, 0], } var paternMenuArray = { amount:[125, 135, 225, 235], level:["Wave", "Pulse", "Earthquake", "Fireworks"], perform:["15 sec", "15 sec", "30 sec", "30 sec"], performSec:[15, 15, 30, 30], statSec:[0, 0, 0, 0], statTok:[0, 0, 0, 0], statHit:[0, 0, 0, 0], } var fanNotice = { 1: 'Join my Fan Club (15$ per month for the 5 first suscribers) and get 20% discount on private show !', } var notice = { 1: '1-Please, no pet name like bb, honey, etc...my name is Lou.', 2: '2-No directing - No sexual gif - No anal - No squirt.', 3: '3-Tip 2 tokens to keep personal all dirty talk, dirty thaught, something you want share/should share only with me.', 4: '4-Explicit ONLY on [T]eam show '+(privateOpen ? ' or private 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.', } /*+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' for dirty talk, dirty thaught or says something you wont/should not share with other (except me). */ //-- function fc_lush() { tipMenuTitle = emoStar3+' LUSH MENU : Make my clit throb... ' +emoStar3 tipMenuList1 = '' tipMenuList2 = '' tipMenuList3 = '' //if (pass == 'off') { 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) cb.chatNotice(tipMenuTitle+tipMenuList1+'\n'+tipMenuList2+' \n'+emoStar3, '', 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 != 22) tipMenuList += emoStar+' '+perform+' ('+amount+') ' } else { tipMenuList += emoStar+' '+perform+' ('+amount+') ' } } cb.chatNotice(emoStar3+' PUBLIC MENU '+emoStar3+' \n '+tipMenuList+' \n'+emoStar3, '', 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_tipGreatly(name, tipAmount) { clicksSupport++ tipsSupport += tipAmount cb.sendNotice('Thank you '+tippers[name].team+' '+name+', big or small, all tips are greatly appreciated.', '', '#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() { if (pass == 'off') { if (salon == 'public' || salon == '[T]eam show') cb.chatNotice('\u2731 '+notice[nb], '', '#70ffff') if (salon == 'BJ' || salon == 'cum') { if (nb < 6) { nb++} else {nb = 1} } else if (nb < 6) { // 8 nb++ //+1 } else {nb = 1} } 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 = '\nTop Tipper'; } else { output = '\nTop ' + topTippers.length + ' Tippers'; } } else { topTippers = tempTippers; output = '\nAll Tippers'; } if (topTippers.length > 0) { // ori for (i = 0; i < topTippers.length; i++) { output += '\n'+topTippers[i].tips+' : '+topTippers[i].username+' | First tip:'+topTippers[i].firsttip+' | Last tip:'+topTippers[i].lasttip+' | Biggest tip:'+topTippers[i].biggesttip+' |HG:'+topTippers[i].team+' | Hdtip:'+topTippers[i].hdtips // ex loufan : 2000 } } /*if (topTippers.length > 0) { if(setting == 'mvp') { for (i = 0; i < topTippers.length; i++) { if(freeHC_lost > 0){ if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), topTippers[i].username)) { tippers[topTippers[i].username].team = 'HC Guest @ LOTO/N:'+next_tip_amount+' R:'+next_tip_remaining cb.limitCam_addUsers([topTippers[i].username]); freeHC_lost-- output += '\n'+topTippers[i].tips+' : '+topTippers[i].username+' '+topTippers[i].lasttip+' '+topTippers[i].team; // ex loufan : 2000 output2 = '******************* '+topTippers[i].username+' has win HC PASS **************' } } } setting = null } else { for (i = 0; i < topTippers.length; i++) { //tippers[topTippers[i].username].hc = 'HC Guest @ LOTO/N:'+next_tip_amount+' R:'+next_tip_remaining output += '\n'+topTippers[i].tips+' : '+topTippers[i].username+' '+topTippers[i].hc; // ex loufan : 2000 } } }*/ else { output = '\nThere have been no tippers since the bot started!\n'; } //return output+ +output2+'\n'; return output+'\n'; } 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; } //-- 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_lushMenus, 15000) cb.setTimeout(fc_notifie, 20000) //notify_privateMenu() //cb.setTimeout(fc_notifie_fan, 30000) //-- fc_notifyRules2() ///cb.setTimeout(releaseTimeouts) //-- releaseTimeouts() cb.changeRoomSubject( (privateOpen ? 'Pvt open | ' : '')+(lushOn ? 'Lush in | #lush #lovense' : '')+' #bbw #bigboobs #hairy #french'); } //-- CB -- cb.onEnter(function(user) { var name = user['user']; 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') {//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 (pass == 'off') { out = '' if (salon == 'BJ' || salon == 'cum') { nb = 5} else { nb = 6} for (i = 1; i <= nb ; i++) { out += '\u2731 '+notice[i]+'\n' } cb.chatNotice(out, name, '#70ffff') } if( !visitorsArray.includes(name) ) { visitorsArray.push(name) } }) 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)+')' function notify_privateMenu(a) { function refreshTitle() { if (userInPrivate != null && privateMemberMenu != null) { 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 != null) { 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 != null) { 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.onTip(function(tip) { var tipAmount = tip["amount"] var optionMsg = tip["message"] var name = tip["from_user"] var isFan = tip["from_user_in_fanclub"]; var modelName = cb.room_slug //-- allHit = ++allHit //-- allTipAmount += 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, firsttip: tipAmount, 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 (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 == 2 || tipAmount == 16 || tipAmount == 36 || tipAmount == 46 || tipAmount == 56 || tipAmount == 66 ) { // 1 spank butt 16 | suck'finger 36 | flash boobs 46 | flash kitty 56 | flash butt 66 | show bare boobs 61? | show bare kitty 81? clicksMenu++ tipsMenu += tipAmount if(tipAmount == 2) { thanks = 'All thank you for being classy !' // classy } else { thanks = 'All enjoy and thank you !' } cb.chatNotice(tippers[name].team+' '+name+' tipped for '+perform+'. '+thanks, '', bgColor_tipMenu, fontColor_tipMenu, 'bold') } else if (tipAmount == 22 && 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 fc_tipGreatly(name, tipAmount) } } else 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 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 enjoy and thanks '+tippers[name].team+' '+name+' !', '', bgColor_tipLushMenu, fontColor_tipLushMenu, 'bold') } else { // all tips are greatly appreciated 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 == 35 ) && 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 ) { perform = '' kiss = '' 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 ' } cb.chatNotice( perform+' is now included to the show. Thank you! '+kiss + '\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 = '--------------------------------------------------------' if (bankMember >= control3Rate) { out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub, finger, dildo, control 2 toys altern and/or simultan \n' +dashLine //+ '\n'+bankMember+' >= '+control3Rate + '\n' //Private show options :' privateMemberMenu = null privateFanMenu = null } else if (bankMember >= control2Rate && bankMember < control3Rate){ out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub, finger, dildo, control 2 toys altern \n' +dashLine //+ '\n'+bankMember+' >= '+control2Rate+' et '+bankMember+' < '+control3Rate // + '\n' //Private show options :' privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Control 2 toys simultan ('+(2080-bankMember)+')' } else if (bankMember >= control1Rate && bankMember < control2Rate){ out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub, finger, dildo, control 1 toy \n' +dashLine //+ '\n'+bankMember+' >= '+control1Rate+' et '+bankMember+' < '+control2Rate // + '\n' //Private show options :' privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Control 2 toys altern ('+(2000-bankMember)+') | Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Control 2 toys altern ('+(1600-bankMember)+') | Control 2 toys simultan ('+(2080-bankMember)+')' } else if (bankMember >= dildoRate && bankMember < control1Rate){ out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub, finger, dildo \n' +dashLine //+ '\n'+bankMember+' >= '+dildoRate+' et '+bankMember+' < '+control1Rate // + '\n' //Private show options :' privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Control 1 toy ('+(1000-bankMember)+') | Control 2 toys altern ('+(2000-bankMember)+') | Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Control 1 toy ('+(800-bankMember)+') | Control 2 toys altern ('+(1600-bankMember)+') | Control 2 toys simultan ('+(2080-bankMember)+')' } else if (bankMember >= fingerRate && bankMember < dildoRate) { out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub, finger \n' +dashLine //+ '\n'+bankMember+' >= '+fingerRate+' et '+bankMember+' < '+dildoRate // + '\n' //Private show options :' privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Dildo ('+(500-bankMember)+') | Control 1 toy ('+(1000-bankMember)+') | Control 2 toys altern ('+(2000-bankMember)+') | Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Dildo ('+(400-bankMember)+') | Control 1 toy ('+(800-bankMember)+') | Control 2 toys altern ('+(1600-bankMember)+') | Control 2 toys simultan ('+(2080-bankMember)+')' } else if (bankMember < fingerRate){ out = dashLine+'\n ---- Show includes until the end of Private : \n' + '---- Spread, rub \n' +dashLine //+ '\n'+bankMember+' < '+fingerRate // + '\n' //Private show options :' privateMemberMenu = emoStar+' For MEMBER '+emoStar+' Finger ('+(250-bankMember)+') | Dildo ('+(500-bankMember)+') | Control 1 toy ('+(1000-bankMember)+') | Control 2 toys altern ('+(2000-bankMember)+') | Control 2 toys simultan ('+(2600-bankMember)+')' privateFanMenu = emoStar+' For FAN '+emoStar+' Finger ('+(200-bankMember)+') | Dildo ('+(400-bankMember)+') | Control 1 toy ('+(800-bankMember)+') | Control 2 toys altern ('+(1600-bankMember)+') | Control 2 toys simultan ('+(2080-bankMember)+')' } /*if (bankMember >= dildoRate) { out = dashLine+'\nPrivate includes : Spread, rub, finger, dildo\n'+dashLine //+ '\n'+bankMember+' >= '+dildoRate privateMemberMenu = null privateFanMenu = null } else if (bankMember >= fingerRate && bankMember < dildoRate) { out = dashLine+'\nPrivate includes : Spread, rub, finger\n'+dashLine //+ '\n'+bankMember+' >= '+fingerRate+' et '+bankMember+' < '+dildoRate // //+ '\nPrivate Menu :' //+ '\nInclude Dildo : single tip '+(dildoRate-bankMember)+' tokens ' privateMemberMenu = 'Member -> Dildo ('+(500-bankMember)+')' privateFanMenu = 'Fan -> -> Dildo ('+(400-bankMember)+')' } else if (bankMember < fingerRate){ out = dashLine+'\nPrivate includes : Spread, rub\n'+dashLine //+ '\n'+bankMember+' < '+fingerRate // //+ '\nPrivate Menu :' //+ '\nInclude Finger : single tip '+(fingerRate-bankMember)+' tokens' //+ '\nInclude Dildo : single tip '+(dildoRate-bankMember)+' tokens ' privateMemberMenu = 'Member -> Finger ('+(250-bankMember)+') | Dildo ('+(500-bankMember)+')' privateFanMenu = 'Fan -> -> Finger ('+(200-bankMember)+') | Dildo ('+(400-bankMember)+')' }*/ /*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 > 0) { if(name != userInPrivate) { challenges.tokens -= tipAmount } if (challenges.tokens <= 0) { onGoalReached(); } } cb.onDrawPanel() }) cb.onMessage(function(message) { var msgParam = message["m"].split(" ") var name = message['user'] var msg = message['m'] var isFan = message['in_fanclub'] //var isFan = true var isMod = message['is_mod'] var isModel = (name == cb.room_slug) var hasTokens = message['has_tokens'] var hasTippedModel = (tippers[name]); 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 "/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] == "menu"){ notify_privateMenu("") /////// } if (msgParam[1] == "lush"){ if (msgParam[2] == "35"){ function fc_lushl() { tipMenuTitle = emoStar3+' LUSH MENU : Make my clit throb... ' +emoStar3 tipMenuList1 = '' tipMenuList2 = '\n' +emoStar+' Random - Lovense will choose between level 2 and 4 (35)\n' //if (pass == 'off') { if(lushOn) { for (i = 0; i < lushMenuArray["amount"].length; i++){ tipMenuList1 += '\n' +emoStar+' '+lushMenuArray["level"][i]+' - '+lushMenuArray["perform"][i]+' ('+lushMenuArray["amount"][i]+') ' } for (i = 0; i < paternMenuArray["amount"].length; 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'*/ cb.chatNotice(tipMenuTitle+tipMenuList1+'\n'+tipMenuList2+' \n'+emoStar3, userInPrivate, bgColor_lushMenu, fontColor_lushMenu, 'bold') cb.chatNotice(tipMenuTitle+tipMenuList1+'\n'+tipMenuList2+' \n'+emoStar3, modelName, bgColor_lushMenu, fontColor_lushMenu, 'bold') } //} } fc_lushl() } else { msg = msg+' -> :alert1 Set RANDOM on lovense browser then /pvt lush 35' } } break case "/goal": if (msgParam[1]) { challenges.tokens = msgParam[1] } if (msgParam[2]) { challenges.tippers = msgParam[2] } if (msgParam[3]) { challenges.tips = msgParam[3] } if (msgParam[4]) { challenges.tipSize = msgParam[4] } break case"/goalDes": out = '' if (msgParam[1]) { out += msgParam[1]+' ' } if (msgParam[2]) { out += msgParam[2]+' ' } if (msgParam[3]) { out += msgParam[3]+' ' } if (msgParam[4]) { out += msgParam[4]+' ' } goalDes = ("Hidden "+out+" show") cb.chatNotice ("New goal: "+goalDes) cb.onDrawPanel() 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. "Public menu" disabled. "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 (userInPrivate != null) { if (msgParam[1] == 'pvt' && msgParam[2] == 'fr') { /* out = 'Private Menu :' + '\n * 10 minutes to be enjoying with you til you cum! * :' + '\n A - RUB kitty show - consist in spread and masturbate kitty - 30 tokens per min ' + '\n EXTRA - RANDOM VIBES while pvt - low, med, hight, ultra - 31 tokens ' + '\n EXTRA - FINGER while pvt - finger kitty or rub (no penetration) butt hole - extra single tip | member 201 | fan 161 | tokens ' + '\n EXTRA - DILDO while pvt show - consist dildo kitty, bj, titifuck as you please - extra single tip | member 401 | fan 321 | tokens + '\n \n * 20 minutes to be enjoying with you til I cum! * :' //+ '\n D - CUM show 1 consist in spread, masturbate, finger, dildo kitty. You control lush til I cum - single tip | member 2001 | fan 1601 | tokens + '\n + '\n CUM SHOW - JULY OFFER : You control-link Nora (replace me 10 minutes) for FREE !' + '\n \n All private show include Bare boobs play. C2C is free -> make sure you\'re broadcasting your cam !!!' + '\n Tell me your choice or if you have any question , just ask in PM ;)' + 'Please, DO NOT TIP ANY AMOUNT of private menu until we PM toguether !' */ } else if (msgParam[1] == 'pvt' && msgParam[2] == 'us') { /* out = 'Private Menu :' + '\n * 10 minutes to be enjoying with you til you cum! * :' + '\n A - RUB kitty show - consist in spread and masturbate kitty - 30 tokens per min ' + '\n EXTRA - RANDOM VIBES while pvt - low, med, hight, ultra - 31 tokens ' + '\n EXTRA - FINGER while pvt - finger kitty or rub (no penetration) butt hole - extra single tip | member 201 | fan 161 | tokens ' + '\n EXTRA - DILDO while pvt show - consist dildo kitty, bj, titifuck as you please - extra single tip | member 401 | fan 321 | tokens + '\n \n * 20 minutes to be enjoying with you til I cum! * :' //+ '\n D - CUM show 1 consist in spread, masturbate, finger, dildo kitty. You control lush til I cum - single tip | member 2001 | fan 1601 | tokens + '\n + '\n CUM SHOW - JULY OFFER : You control-link Nora (replace me 10 minutes) for FREE !' + '\n \n All private show include Bare boobs play. C2C is free -> make sure you\'re broadcasting your cam !!!' + '\n Tell me your choice or if you have any question , just ask in PM ;)' + 'Please, DO NOT TIP ANY AMOUNT of private menu until we PM toguether !' */ } //cb.chatNotice(out, userInPrivate, '#ead9d7') } 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 Total: '+(clicksMenu+clicksSupport+clicksLush+clicksPrivateShow)+' click, '+(tipsMenu+tipsSupport+tipsLush+tipsPrivateShow)+' tokens' +'\n Salon: '+salon+' | Team '+(teamOpen ? 'Open' : 'Closed')+' | Lush '+(lushOn ? 'on' : 'off') +'\n Team Array '+teamArray+' | member in hidden cam : '+cb.limitCam_allUsersWithAccess() +'\n Private '+(privateOpen ? 'OPEN' : 'CLOSED')+' | '+(salon == 'Private discuss' || salon == 'Private session' || salon == 'Private minute' ? salon+' in progress with '+cb.limitCam_allUsersWithAccess() : '')+' |' , modelName, '#ead9d7') break case "/lush": if(msgParam[1] == 'on' || msgParam[1] == 'off' ) { lushOn = msgParam[1] if (msgParam[1] == 'on') { lushOn = true fc_lush() } else if (msgParam[1] == 'off') { lushOn = false } cb.changeRoomSubject( (privateOpen ? 'Pvt open | ' : '')+(lushOn ? 'Lush in | #lush #lovense' : '')+' #bbw #bigboobs #hairy #french'); } else cb.chatNotice('/lush command are "on" or "off".', modelName, '#d8d8d8') 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 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%)" } /*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 ( tippers[name] ) { 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 } } else { 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]"); } } // return final altered message message['m'] = msg; return message; }) //-- fc_init()
© Copyright Chaturbate 2011- 2024. All Rights Reserved.