Apps Home
|
Create an App
pbh
Author:
pbchnd
Description
Source Code
Launch App
Current Users
Created by:
Pbchnd
/* for a beautiful and intelligent free spirit */ var tip4Char = 0; var tip4Goal = 0; var tipTotal = 0; var tip4GoalGoal = 0; var tip4GoalSeq = 0; var tip4GoalSeqMsg = 'Boost me up the ladder! Next Rung: [next] (of [goal])'; var roomSubject; var roomSubjectSet = false; var happyBirthday = false; var menuOpenMsg = ''; var menuClosedMsg = 'Charleigh\'s Good Lookin\' Menu is closed'; var goalReachedMsg = 'The Goal has been reached!'; var tippedForPrizeMsg = '[tipper] has tipped for [prize]!'; var tipGoalOnMsg = 'Tip Goal is [tokens]'; var tipGoalOffMsg = 'Tip Goal is Off'; var prizeOffMenuMsg = '[prize] is OFF the Menu!'; var prizeOnMenuMsg = '[prize] is ON the Menu!'; var just4TipperMsg = '[tipper] tipped [just4]'; var just4NoticeMsg; var just4Key = 'Just4Char'; var notifyOn = true; var notifyTimer = 5; var notifyNext = 0; var notifyNotices = []; var notifyOnEnter = false; var menuOn = false; var menuItem = []; var menuPrice = []; var menuItemTotal = []; var menuTimer = 30; var menuSep = "|"; var halloweenOn = true; var expressColor = '#cc0066'; var leaderMinTip = 25; var charLeigh = cb.room_slug; var titlesOn = false; var titlesName = []; var titlesTitle = []; var titlesColor = []; var guestName = []; var guestTitle = []; var guestTotal = []; var guestSuckup = []; var guestLastAct = []; var fiveSecondCount = 0; var oneMinuteCount = 0; var flushPtr = 0; var duckPtr1 = 0; var duckPtr2 = 0; var duckPtr3 = 0; var gName,gTitle,gTips; var chaKingTotal = ''; var chaKingEmoti = ':crown-h1'; var saveAddu = ''; var oneTokensIx = 0; var ruptTimer = 0; var ruptMsg = 'Enjoy Charleigh and her excellent playlist without interruption by sending a tip and enabling Adobe Flash'; var circle = [cb.room_slug]; var circleOn = false; var circleWelcome = 'Welcome to Charleigh\'s Private Circle\nYour chat will be seen only by members of the Circle'; var circleTopic = ''; var circleEntryFee = 25; cb.settings_choices = [ {name: 'roomSubject',type: 'str',defaultValue: 'Charleigh\'s Space',minLength: 1,maxLength: 255,label: 'Room Subject'}, {name: 'just4Key', type: 'str',minLength: 1,maxLength: 25,required: true,label: 'Just4 Keyword',defaultValue: 'Just4Char'}, {name: 'tip4GoalGoal', type: 'int',minValue: 0,defaultValue: 99,label: 'Tip Goal (zero means goal is off)'}, {name: 'tip4GoalSeqMsg', type: 'str',minLength: 0,maxLength: 255,required: false,label: 'Sequence Message',defaultValue: 'Boost me up the ladder! Next Rung: [next] (of [goal])'}, {name: 'startTokens', type: 'int',minValue: 0,defaultValue: 0,label: 'Already received tokens'}, {name: 'notifyTimer',type: 'int',minValue: 0,defaultValue: 1,label: 'Rotating Notices Interval'}, {name: 'chaKingEmoti', type: 'str',minlength: 1,maxLength: 25,required: true,label: 'Crown Emoti',defaultValue: ':crown-h1'}, {name: 'happyBirthday', label: 'Today is my Birthday', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'No'}, {name: 'halloweenOn' , label: 'Its Halloween!' , type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'menuSep',type: 'str',minLength: 1,maxLength: 255,required: true,label: 'Menu Separation',defaultValue: ':pixelglitter'}, {name: 'msg0',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice (when Menu is On)', defaultValue: 'Type !m to see Charleigh\'s Good Lookin\' Menu!'}, {name: 'msg1',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice (Just4 Notice)', defaultValue: 'Tipnote [just4key] to win brownie points with Char (will not count towards goal)'}, {name: 'msg2',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice', defaultValue: 'Help promote Charleigh\'s Space by Following and voting Thumbs Up!'}, {name: 'msg3',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice', defaultValue: 'Enjoy the conversation - contribute a little too :)'}, {name: 'msg4',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice', defaultValue: 'Join Charleigh\'s Angels with a single tip of 500 tokens!'}, {name: 'msg5',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice',defaultValue: ''}, {name: 'msg6',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice',defaultValue: ''}, {name: 'msg7',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice',defaultValue: ''}, {name: 'msg8',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice',defaultValue: ''}, {name: 'msg9',type: 'str',minLength: 1,maxLength: 255,required: false,label: 'Notice',defaultValue: ''}, {name: 'menuOn',type: 'choice',choice1: 'On',choice2: 'Off',defaultValue: 'Off',label: 'Menu On/Off'}, {name: 'pos0',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos1',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos2',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos3',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos4',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos5',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos6',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos7',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos8',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos9',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos10',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos11',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos12',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos13',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos14',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos15',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos16',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos17',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos18',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'pos19',type: 'str',minLength: 1,maxLength: 255,label: 'price | prize',required: false}, {name: 'titlesOn',type: 'choice',choice1: 'On',choice2: 'Off',defaultValue: 'Off',label: 'Titles On/Off'}, {name: 'ti0', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti1', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti2', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti3', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti4', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti5', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti6', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti7', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti8', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, {name: 'ti9', type: 'str', minLength: 1, maxLength: 255, required: false, label: 'Title,name,name,...'}, ]; function updateSubject() { cb.changeRoomSubject(roomSubject); roomSubjectSet = true; } function loadSettings() { var i; var tmpp = []; var tmppi = ''; var tmpi, tmp1, tmp2; roomSubject = cb.settings.roomSubject; just4Key = cb.settings.just4Key; if (cb.settings.chaKingEmoti != '') { chaKingEmoti = cb.settings.chaKingEmoti; } menuSep = cb.settings.menuSep; happyBirthday = (cb.settings.happyBirthday == 'Yes'); if (happyBirthday) { menuSep = ":hbscore"; } halloweenOn = (cb.settings.halloweenOn == 'Yes'); if (halloweenOn) { menuSep = ":sepjack"; } tip4GoalGoal = cb.settings.tip4GoalGoal; tip4GoalSeqMsg = cb.settings.tip4GoalSeqMsg; tip4Goal = 0; tip4Char = 0; if (cb.settings.startTokens) { tip4Goal = cb.settings.startTokens; tipTotal = tip4Goal; } notifyTimer = cb.settings.notifyTimer; notifyOn = (notifyTimer != 0); notifyNotices = []; notifyNotices[0] = '' + cb.settings.msg0; if (cb.settings.msg1 != '') { notifyNotices.push(cb.settings.msg1); } if (cb.settings.msg2 != '') { notifyNotices.push(cb.settings.msg2); } if (cb.settings.msg3 != '') { notifyNotices.push(cb.settings.msg3); } if (cb.settings.msg4 != '') { notifyNotices.push(cb.settings.msg4); } if (cb.settings.msg5 != '') { notifyNotices.push(cb.settings.msg5); } if (cb.settings.msg6 != '') { notifyNotices.push(cb.settings.msg6); } if (cb.settings.msg7 != '') { notifyNotices.push(cb.settings.msg7); } if (cb.settings.msg8 != '') { notifyNotices.push(cb.settings.msg8); } if (cb.settings.msg9 != '') { notifyNotices.push(cb.settings.msg9); } notifyNotices.push('roomsubject'); notifyNotices.push('leaderboard'); for (i = 0; i < notifyNotices.length; i++) { notifyNotices[i] = (notifyNotices[i] + '').replace(/\[just4key\]/i,'"' + just4Key + '"'); } menuOpenMsg = notifyNotices[0]; just4NoticeMsg = notifyNotices[1]; menuOn = (cb.settings.menuOn == 'On'); tmpp = [cb.settings.pos0, cb.settings.pos1, cb.settings.pos2, cb.settings.pos3, cb.settings.pos4, cb.settings.pos5, cb.settings.pos6, cb.settings.pos7, cb.settings.pos8, cb.settings.pos9, cb.settings.pos10, cb.settings.pos11, cb.settings.pos12, cb.settings.pos13, cb.settings.pos14, cb.settings.pos15, cb.settings.pos16, cb.settings.pos17, cb.settings.pos18, cb.settings.pos19 ]; menuItem = []; menuPrice = []; menuItemTotal = []; for (i = 0; i < tmpp.length; i++) { tmppi = '' + tmpp[i]; tmpi = (tmpp[i] + '|').split('|'); tmp1 = parseInt(tmpi[0]); tmp2 = tmpi[1].trim(); if (tmppi.trim() == '') { continue; } if (tmppi.length != tmppi.replace('|','').length + 1) { cb.sendNotice('menu' + i + ': should have exactly one |',charLeigh,'','','bold'); continue; } if (tmp1 > 0 && tmp2 != '') { menuItem.push(tmp2); menuPrice.push(tmp1); menuItemTotal.push(0); } } if (menuPrice[0] != 1) { menuItem.splice(0,0,"oneTokens"); menuPrice.splice(0,0,1); } guestTitlesLoad(); } cb.onTip(function(tip) { var a = tip.amount; var u = tip.from_user; var n = tip.message; var i; tipTotal += a; guestAdd(u); var g = guestInfo(u); guestLastAct[g.Index] = myGetTime(); if (!cb.limitCam_userHasAccess()) { cb.limitCam_addUsers([u]); } g.LastAct = myGetTime(); if (a >= 500 && g.Title == '') { g.Title = '[' + a + ']'; guestTitle[g.Index] = g.Title; } guestTotal[g.Index] += a; if (n.toLowerCase().indexOf(just4Key.toLowerCase()) > -1) { tip4Char += a; if (a >= 500) { cb.sendNotice(":gdUnicorn"); } else { if (a >= 100) { cb.sendNotice(":gblg1"); } else { cb.sendNotice(":gbsm1"); }} myDrawPanel(); return; } if (tip4GoalGoal && !tip4GoalSeq) { if (Math.floor(tip4Goal / tip4GoalGoal) < Math.floor((tip4Goal + a) / tip4GoalGoal)) { cb.sendNotice(goalReachedMsg,'',colors[goalReachedMsgColor],'','bold'); cb.sendNotice(u + ' has reached the goal',charLeigh,'',colors[notifyColor],'bold'); } } tip4Goal += a; if (tip4GoalSeq && a >= tip4GoalSeq) { var b = a; while (b >= tip4GoalSeq && tip4GoalSeq <= tip4GoalGoal) { b = b - tip4GoalSeq; tip4GoalSeq++; } if (tip4GoalSeq > tip4GoalGoal) { tip4GoalSeq = 2; cb.sendNotice(goalReachedMsg,'',colors[goalReachedMsgColor],'','bold'); cb.sendNotice(u + ' has reached the goal',charLeigh,'',colors[notifyColor],'bold'); } else { cb.sendNotice('Thanks! (Next tip needed: ' + tip4GoalSeq + ')',u,'',colors[notifyColor],'bold'); } } if (menuOn) { i = menuPrice.indexOf(a); if (i != -1) { if (menuItem[i].toLowerCase() == "onetokens") { if (halloweenOn) { cb.sendNotice(u + " Q: " + oneTokens[oneTokensIx].q + " A: " + oneTokens[oneTokensIx].a ,"",colors[tippedForPrizeColor],"","bold"); } else { cb.sendNotice(u + " tipped to ask: " + oneTokens[oneTokensIx].q,"",colors[tippedForPrizeColor],"","bold"); cb.sendNotice(oneTokens[oneTokensIx].a.replace("[tipper]",u),u,colors[tippedForPrizeColor],"","bold"); } oneTokensIx = (oneTokensIx + 1) % oneTokens.length; cb.sendNotice(oneTokens[oneTokensIx].q + " (1)","","",colors[prizeListColor],"bold"); } else { cb.sendNotice(tippedForPrizeMsg.replace("[tipper]",u).replace("[prize]",menuItem[i]),"",colors[tippedForPrizeColor],"","bold"); menuItemTotal[i] += a; } } } myDrawPanel(); }); cb.onMessage(function(msg) { var i; var iT = []; var m = msg.m; var u = msg.user; guestAdd(u); var guest = guestInfo(u); guestLastAct[guest.Index] = myGetTime(); guest.LastAct = myGetTime(); if (!cb.limitCam_userHasAccess()) { cb.limitCam_addUsers([u]); } if (u == charLeigh) { msg.c = expressColor; } if (m.slice(0,1) == '/' && u == charLeigh) { return slashCmds(msg); } if (m.slice(0,1) == '!' && m != '!') { return exclamCmds(msg,u); } //cb.sendNotice('con: ' + circleOn + ' u: ' + u + ' ui: ' + circle.indexOf(u),charLeigh); if (circleOn && circle.indexOf(u) > -1) { sendCircle(u,m); msg.m = ''; msg['X-Spam'] = true; return msg; } if (u != charLeigh && guest.Suckup) { msg.m = ':smile'; msg['X-Spam'] = true; guestSuckup[guest.Index] *= 0.96; if (guestSuckup[guest.Index] > Math.random()) { m = suckup(); msg.m = m; msg['X-Spam'] = false; } return msg; } if (u != charLeigh) { msg.m = m.replace(':chaKing',':chaBeanie2').replace(/:crown.* /,':chaBeanie2 '); m = msg.m; } if (guest.Tips == chaKingTotal && chaKingTotal > 0) { m = chaKingEmoti + ' ' + m; msg.m = m; } if (guest.Title != '' && guest.Title.toLowerCase() != 'none') { m = '(' + guest.Title + ') ' + m; msg.m = m; } msg = allFilters(msg,guest); return msg; }); function slashCmds(msg) { var a; var m = msg.m + ' '; var u = msg.user; msg['X-Spam'] = true; if (m.slice(0,5) == '/chat' && u == charLeigh && circleOn) { msg.m = m.slice(6); msg['X-Spam'] = false; return msg; } if (m.slice(0,2) == '/c' && u == charLeigh && circleOn) { msg.m = m.slice(3); msg['X-Spam'] = false; return msg; } if (m.slice(0,5).toLowerCase() == '/menu') { msg = menuChange(msg); return msg; } if (m.slice(0,7).toLowerCase() == '/notify') { notifyOn = !notifyOn; return msg; } if (m.slice(0,4).toLowerCase() == '/add') { a = parseInt(m.slice(5,255)); if (isNaN(a)) { cb.sendNotice('missing number: ' + m,charLeigh,'','','bold'); return msg; } else { tip4Goal += a; myDrawPanel(); cb.sendNotice(a + ' has been added to counter',charLeigh,'','','bold'); return msg; } } if (m.slice(0,5).toLowerCase() == '/rupt') { a = parseInt(m.slice(6,255)); if (isNaN(a)) { ruptTimer = myGetTime() + 30000; } else { ruptTimer = myGetTime() + (a * 1000); } ruptStart(); return msg; } if (m.slice(0,6).toLowerCase() == '/stats') { a = '----'; for (i = 0; i < menuItem.length; i++) { if (menuItemTotal[i]) { a = a + '\n' + menuItem[i] + ' (' + menuItemTotal[i] + ')'; } } a = a + '\n----'; for (i = 0; i < guestName.length; i++) { if (guestTotal[i]) { a = a + '\n' + guestName[i] + ' (' + guestTotal[i] + ')' } } cb.sendNotice(a,charLeigh,'','','bold'); return msg; } if (m.slice(0,8).toLowerCase() == '/subject') { roomSubject = m.slice(9,255).trim(); updateSubject(); return msg; } if (m.slice(0,5).toLowerCase() == '/goal') { a = parseInt(m.slice(6,15)); if (isNaN(a) || a == 0) { tip4GoalGoal = 0; tip4GoalSeq = 0; } else { tip4GoalGoal = a; tip4GoalSeq = 0; } myDrawPanel(); return msg; } if (m.slice(0,4).toLowerCase() == '/seq') { a = parseInt(m.slice(5,15)); if (isNaN(a) || a == 0) { tip4GoalGoal = 0; tip4GoalSeq = 0; } else { tip4GoalGoal = a; tip4GoalSeq = 2; } myDrawPanel(); return msg; } if (m.slice(0,6).toLowerCase() == '/title') { iT = (m.slice(7,255).trim() + ',,').split(','); gi = guestName.indexOf(iT[1].trim()); if (iT[1].trim() != '' && gi > -1) { guestTitle[gi] = iT[0].trim(); if (guestTitle[gi].indexOf(':') > -1) { guestTitle[gi] = ' ' + guestTitle[gi] + ' '; } } return msg; } if (m.slice(0,3).toLowerCase() == '/xp') { var a = []; var c; a = m.split(/\s+/); var re = /[0-9A-Fa-f]{6}/g; if (a[1].slice(0,1) == '#') { var a1 = a[1].slice(1); if (a1.length == 5 && re.test(a1)) { cb.sendNotice('??? ' + a[1],charLeigh); return msg; } c = a[1]; } else { if (!(a[1].toLowerCase() in colors)) { cb.sendNotice('??? ' + a[1],charLeigh); return msg; } c = colors[a[1].toLowerCase()]; } if (a.length > 2) { msg.c = c; msg.m = (a.slice(2,a.length)).join(' '); msg['X-Spam'] = false; return msg; } expressColor = c; cb.sendNotice('color changed to this',charLeigh,'',c); return msg; } if (m.slice(0,7).toLowerCase() == '/suckup') { var a = m.split(/\s+/); if (a[1] == '') { cb.sendNotice('who?: ' + m,charLeigh); return; } guestAdd(a[1]); var g = guestInfo(a[1]); if (g.Suckup) { guestSuckup[g.Index] = 0; } else { guestSuckup[g.Index] = 1; } return msg; } if (m.slice(0,7).toLowerCase() == '/circle') { return cmdCircle(msg); } if (m.slice(0,6).toLowerCase() == '/flush') { cb.sendNotice(flushChat()); msg['X-Spam'] = true; return msg; } if (m.slice(0,5).toLowerCase() == '/help') { a = '' + '\n/menu on (turn menu on)' + '\n/menu off (turn menu off)' + '\n/menu price item (add item)' + '\n/menu price (drop item)' + '\n/menu 1 oneTokens (ask Charlie for 1)' + '\n/menu send user (send menu to user)' + '\n/menu send (send menu to all)' + '\n/notify (toggle notices on/off)' + '\n/goal n (n=new goal, zero=goal off)' + '\n/seq n (n=tip sequence goal, zero=goal off)' + '\n/add n (add n to tip counter)' + '\n/stats (show stats)' + '\n/title T,user (give title T to user)' + '\n/subject (change room subject)' + '\n/xp color (change your message color)' + '\n/xp color txt (send txt in color)' + '\n/flush (flush chat off screen)' + '\n/rupt n (start rupt for n seconds, default 30)' ; cb.sendNotice(a,charLeigh,'','','bold'); msg['X-Spam'] = true; return msg; } return msg; } function menuChange(msg) { var a,i,p,px,z; var m = msg.m.slice(6,255).trim(); if (m.slice(0,2).toLowerCase() == 'on') { if (!menuOn) { cb.sendNotice(menuOpenMsg,'','',colors[notifyColor]); } menuOn = true; myDrawPanel(); return msg; } if (m.slice(0,3).toLowerCase() == 'off') { if (menuOn) { cb.sendNotice(menuClosedMsg,'','',colors[notifyColor]); } menuOn = false; myDrawPanel(); return msg; } if (m.slice(0,4).toLowerCase() == 'send') { zu = m.slice(5,255).trim(); cb.sendNotice(prizeList(),zu,'',colors[prizeListColor],'bold'); cb.sendNotice('menu sent',charLeigh,'','','bold'); if (!menuOn) { cb.sendNotice('menu is off',charLeigh,'','','bold'); } return msg; } p = parseInt(m.slice(0,255)); if (isNaN(p)) { cb.sendNotice('???: ' + m,charLeigh,'','','bold'); return msg; } z = m.replace(p.toString(),'').trim(); px = menuPrice.indexOf(p); if (px == -1 && z == '') { cb.sendNotice('???: ' + m,charLeigh,'','','bold'); return msg; } if (px != -1 && z == '') { a = menuItem[px]; menuItem.splice(px,1); menuPrice.splice(px,1); menuItemTotal.splice(px,1); cb.sendNotice('removed: ' + a,charLeigh,'','','bold'); return msg; } if (px == -1) { menuItem.push('hello'); menuPrice.push(0); menuItemTotal.push(0); for (i = menuItem.length - 1; i; i--) { if (p < menuPrice[i-1]) { menuItem[i] = menuItem[i-1]; menuPrice[i] = menuPrice[i-1]; menuItemTotal[i] = menuItemTotal[i-1]; } else { break; } } menuItem[i] = z; menuPrice[i] = p; menuItemTotal[i] = 0; cb.sendNotice('added: ' + z + ' (' + p + ')',charLeigh,'','','bold'); return msg; } if (px != -1) { a = menuItem[px]; menuItem[px] = z; cb.sendNotice('replaced: ' + a + ' with ' + z,charLeigh,'','','bold'); return msg; } cb.sendNotice('???: ' + msg.m,charLeigh); } function exclamCmds(msg,u) { msg['X-Spam'] = true; var m = msg.m.toLowerCase().trim(); if (m == '!m') { if (menuOn || u == charLeigh) { cb.sendNotice(prizeList(),u,'',colors[prizeListColor],'bold'); } else { cb.sendNotice(menuClosedMsg,u,'',colors[notifyColor],'bold'); } } return msg; } function allFilters(msg,guest) { var m = msg.m; if (msg.user == charLeigh) { return msg; } var message = msg; message = vFilter (msg,guest); if (message['X-Spam'] == true) {return message;} if (guest.Title != '') { return msg; } message = xxFilter(msg,guest); if (message['X-Spam'] == true) {return message;} message = pmFilter(msg,guest); if (m != message.m) {return message;} message = bbFilter(msg,guest); if (m != message.m) {return message;} duckFilter(msg); return msg; } var pmText = [ '(may be wanting something illegal)' ,'(fearing public ridicule)' ,'(tip-note, what\'s a tip-note?)' ,'(extremely shy)' ,'(what I have to ask - it\'s really embarrassing)' ,'(# pm/pvt requests rejected today: 103)' ,'(thought about impressing with a nice tip-note but...)' ]; function pmFilter(msg,guest) { var m = msg.m.trim().toLowerCase().replace(/[\?\!]/,''); var a = m.split(' '); var firstWord = a[0]; var lastWord = a[a.length - 1]; if (firstWord == 'pm' || firstWord == 'pvt' || firstWord == 'prvt' || firstWord == 'private' || lastWord == 'pm' || lastWord == 'pvt' || lastWord == 'prvt' || lastWord == 'private' || m.search(/\bpm\b/) > -1 ) { msg.m = msg.m + ' ' + randPick(pmText); msg['X-Spam'] = false; } return msg; } var bbAdj = [ 'baffling' ,'bantering' ,'baresome' ,'bawdy' ,'beguiling' ,'blushing' ,'boisterous' ,'brainy' ,'brashy' ,'brassy' ,'brave' ,'brazen' ,'brilliant' ,'beading' ,'beaming' ,'busty' ,'butter' ,'buttery' ,'busterious' ,'bejeweled' ]; var bbNoun = [ 'bananas' ,'beauty' ,'bee' ,'berries' ,'biscuits' ,'blossoms' ,'bobbers' ,'bosoms' ,'bottom' ,'becky' ,'britches' ,'brunette' ,'bunny' ,'bonnie' ,'belle' ,'buckles' ,'budgie' ,'bubbles' ,'buddy' ,'buns' ]; function bbFilter(msg) { var m = msg.m; var u = msg.user; var bbA; var bbN; var bbR; while (m.search(/(^| )bb($| )/i) > -1) { if (happyBirthday) { bbA = 'Birthday'; bbN = 'Beauty'; } else { bbA = bbAdj[Math.floor(Math.random() * bbAdj.length)].replace(/b/,'B'); bbN = bbNoun[Math.floor(Math.random() * bbNoun.length)].replace(/b/,'B'); } bbR = ' ' + bbA + ' ' + bbN; m = m.replace(/(^| )bb($| )/i,bbR).trim(); } if (m != msg.m) { msg['X-Spam'] = false; msg.m = m; cb.sendNotice('Charleigh\'s App has intervened on your behalf, she HATES being called bb :)',u); } return msg; } function vFilter(msg) { var m = msg.m; var u = msg.user; var mu = ' ' + m.toLowerCase() + ' '; if (mu.search(/[fv]+[^a-z]*[3e]+[^a-z]*[r]+[^a-z]*[u]+[^a-z]*[ck]+[^a-z]*[a]/) > -1) { msg['X-Spam'] = true; cb.sendNotice('suppressed msg from ' + u + ': ' + m,charLeigh); } return msg; } function xxFilter(msg) { var m = msg.m; var u = msg.user; var mu = ' ' + m.toLowerCase() + ' '; for (i = 0; i < xxList.length; i++) { if (mu.search(xxList[i]) > -1) { msg['X-Spam'] = true; cb.sendNotice('suppressed msg from ' + u + ': ' + m,charLeigh); return msg; } } return msg; } var xxList = [ " spank bank" ," spank vault" ," clit locker" ," watch my cam" ," see my cam" ]; function duckFilter(msg) { var m = msg.m; var dm; var di = m.search(/\b(my|huge|enormous|monster|massive|big|black|inch|real) (cock|dick|penus|pens|penis|boner|hardon|rod|bbc)\b/i); if (di > -1) { duckPtr1 = (duckPtr1 + 1) % duckLine1.length; duckPtr2 = (duckPtr2 + 1) % duckLine2.length; duckPtr3 = (duckPtr3 + 1) % duckLine3.length; if (happyBirthday) { dm = "I have a big duck I'm so proud! But it's Charleigh's Big Day, so let me just say: Best Wishes from me and the crowd!"; } else { dm=duckLine1[duckPtr1] + duckLine2[duckPtr2] + duckLine3[duckPtr3]; } cb.sendNotice(dm,'','',colors[duckColor],'bold'); } return; } function duckShuffle() { var i,j,t; for (i = duckLine2.length; i; i--) { j = Math.floor(Math.random() * i); t = duckLine2[i - 1]; duckLine2[i - 1] = duckLine2[j]; duckLine2[j] = t; } } function randPick(a) { return a[Math.floor(Math.random() * a.length)]; } function prizeList() { var pl = ''; var i; for (i = 0; i < menuItem.length; i++) { if (menuItem[i].toLowerCase() == "onetokens") { pl = pl + ' ' + menuSep + ' ' + oneTokens[oneTokensIx].q + ' (' + menuPrice[i] + ')'; } else { pl = pl + ' ' + menuSep + ' ' + menuItem[i] + ' (' + menuPrice[i] + ')'; } } return pl.replace(menuSep,''); } function guestInfo(u) { var i; i = guestName.indexOf(u); if (i == -1) { return {Title: '', Tips: 0, Suckup: false, Index: guestName.length}; } return {Title: guestTitle[i], Tips: guestTotal[i], Suckup: guestSuckup[i], Index: i}; } function guestAdd(u) { var i; if (saveAddu == u || u == charLeigh) { return; } saveAddu = u; i = guestName.indexOf(u); if (i == -1) { guestName.push(u); guestTitleSet(u); guestTotal.push(0); guestSuckup.push(0); guestLastAct.push(0); } } function guestTitleSet(u,j) { var a,i; i = titlesName.indexOf(u); if (i != -1) { guestTitle.push(titlesTitle[i]); } else { guestTitle.push(''); } } function guestTitlesLoad() { var i,j,k; var iT = []; var inTitles = [ ,cb.settings.ti0 ,cb.settings.ti1 ,cb.settings.ti2 ,cb.settings.ti3 ,cb.settings.ti4 ,cb.settings.ti5 ,cb.settings.ti6 ,cb.settings.ti7 ,cb.settings.ti8 ,cb.settings.ti9 ]; guestName[0] = charLeigh; guestTitle[0] = ''; guestTotal[0] = 0; for (i = 0; i < inTitles.length; i++) { iT = (inTitles[i] + ',,').split(','); for (j = 1; j < iT.length; j++) { if (iT[j] != '') { titlesTitle.push(iT[0]); titlesName.push(iT[j]); } } } } function suckup() { suCompIx = Math.floor(Math.random() * suComp.length); var m = suComp[suCompIx]; if (m != m.replace(/bty|stn/,'')) { suBeautyIx = (suBeautyIx + 1) % suBeauty.length; suStunnedIx = (suStunnedIx + 1) % suStunned.length; var b = suBeauty[suBeautyIx]; var s = suStunned[suStunnedIx]; m = m.replace(/bty/,b).replace(/stn/,s); } if (m != m.replace(/bty|stn/,'')) { suBeautyIx = (suBeautyIx + 1) % suBeauty.length; suStunnedIx = (suStunnedIx + 1) % suStunned.length; var b = suBeauty[suBeautyIx]; var s = suStunned[suStunnedIx]; m = m.replace(/bty/,b).replace(/stn/,s); } return m; } function suShuffle() { var i,j,t; for (i = suComp.length; i; i--) { j = Math.floor(Math.random() * i); t = suComp[i - 1]; suComp[i - 1] = suComp[j]; suComp[j] = t; } for (i = suBeauty.length; i; i--) { j = Math.floor(Math.random() * i); t = suBeauty[i - 1]; suBeauty[i - 1] = suBeauty[j]; suBeauty[j] = t; } for (i = suStunned.length; i; i--) { j = Math.floor(Math.random() * i); t = suStunned[i - 1]; suStunned[i - 1] = suStunned[j]; suStunned[j] = t; } } function oneTokensShuffle() { if (halloweenOn) { oneTokens = oneTokensHalloween.slice(0); } var i,j,t; for (i = oneTokens.length; i; i--) { j = Math.floor(Math.random() * i); t = oneTokens[i - 1]; oneTokens[i - 1] = oneTokens[j]; oneTokens[j] = t; } } function cmdCircle(msg) { var i,j; var m = msg.m; var a = (m.slice(8) + ',,').split(/[\s+,]/); var u = msg.user; //cb.sendNotice('a0: ' + a[0] + ' a1: ' + a[1] + ' con: ' + circleOn,charLeigh); if (a[0].toLowerCase() == 'on' || a[0].toLowerCase() == 'up') { //cb.sendNotice('ononon',charLeigh); circleOn = true; sendCircle('', circleWelcome); if (circleTopic != '') { sendCircle('',circleTopic); } return msg; } //cb.sendNotice('notonnotonnoton',charLeigh); if (a[0].toLowerCase() == 'down' || a[0].toLowerCase() == 'off') { circleOn = false; sendCircle('', 'Circle is closed, your chat will now appear in public'); return msg; } if (a[0].toLowerCase() == 'topic') { circleTopic = m.slice(14,1000).trim(); return msg; } if (a[0].toLowerCase() == 'who') { for (i = 0; i < circle.length; i++) { cb.sendNotice(circle[i],charLeigh); } return msg; } if (a[0].toLowerCase() == 'boot') { for (i = 1; i < a.length; i++) { j = circle.indexOf(a[i]); if (j != -1) { cb.sendNotice('You are out of the circle, your chat is now in public',a[i]); circle.splice(j,1); } } return msg; } if (a[0].toLowerCase() == 'help' || a[0] == '') { var c = 'Circle Commands:' +'\n/circle user,user,... (add users to the circle)' +'\n/circle on/up/off/down (start/stop the circle)' +'\n/circle boot user,user,... (remove users from the circle)' +'\n/circle topic text... (what users see when they are added)' +'\n/circle who (show who is in the circle)' +'\n/chat msg (send msg to public chat)' ; cb.sendNotice(c,charLeigh); return msg; } for (i = 0; i < a.length; i++) { if (circle.indexOf(a[i]) == -1 && a[i] != '') { if (circleOn) { sendCircle('', a[i] + ' has been invited to the Circle'); cb.sendNotice('> ' + circleWelcome,a[i],colors[circleColorBG],colors[circleColorFG]); if (circleTopic != '') { cb.sendNotice('' + circleTopic,a[i],colors[circleColorBG],colors[circleColorFG]); } } circle.push(a[i]); } } return msg; } function sendCircle(u,m) { var i,j; var f = ''; if (u != '') { f = u + ': '; } if (circle.length < 1 && u == charLeigh) { cb.sendNotice('No one is in the circle but you', charLeigh); return; } for (i = 0; i < circle.length; i++) { // if (u != circle[i]) { cb.sendNotice(f + m,circle[i],colors[circleColorBG],colors[circleColorFG]); // } } } cb.onEnter(function (user) { var u = user.user; if (titlesName.indexOf(u) > -1 && cb.limitCam_isRunning() && !cb.limitCam_userHasAccess(u)) { cb.limitCam_addUsers([u]); } if (menuOn) { cb.sendNotice(notifyNotices[0],u,'',colors[notifyColor],'bold'); } cb.sendNotice(notifyNotices[1],u,'',colors[notifyColor],'bold'); if (user.in_fanclub || user.has_tokens || user.is_mod || user.tipped_recently || user.tipped_alot_recently || user.tipped_tons_recently) { return; } grayFiller(u); }); cb.onLeave(function (user) { var u = user.user; }); function grayFiller(u) { cb.sendNotice(flushChat(),u); } function myDrawPanel() { cb.drawPanel(); } cb.onDrawPanel(function(a) { var a; var l1,l2,l3,v1,v2,v3; /* Tip 1 to [goal]! Next Tip Needed: [next] Boost Char up to [goal]! Next rung is [next] */ if (tip4GoalSeq) { a = (tip4GoalSeqMsg + '!').replace('[goal]',tip4GoalGoal).replace('[next]',tip4GoalSeq).split('!'); l1 = a[0] + '! '; v1 = a[1]; } else { if (tip4GoalGoal) { l1 = 'Received / Goal (Total):'; v1 = (tip4Goal % tip4GoalGoal) + ' / ' + tip4GoalGoal + ' (' + tip4Goal + ')'; } else { l1 ='Tokens Received:'; v1 = tip4Goal; }} l2 = just4Key + ':'; v2 = tip4Char; v3 = 'Don\'t forget to Follow'; if (tip4GoalGoal) { v3 = just4NoticeMsg; } if (menuOn) { v3 = menuOpenMsg; } a = leaderList()[0]; if (a != '') { v3 = a; } return { 'template': '3_rows_12_22_31', 'row1_label': l1, 'row1_value': v1, 'row2_label': l2, 'row2_value': v2, 'row3_value': v3 }; }); function leaderList() { var i,l,l3; var r = []; var lName = ['','','']; var lTotal = [0,0,0]; for (i = 0; i < guestName.length; i++) { if (guestTotal[i] == 0) { continue; } if (guestTotal[i] > lTotal[0] && guestTotal[i] >= leaderMinTip) { lName[2] = lName[1]; lName[1] = lName[0]; lName[0] = guestName[i]; lTotal[2] = lTotal[1]; lTotal[1] = lTotal[0]; lTotal[0] = guestTotal[i]; } else { if (guestTotal[i] > lTotal[1] && guestTotal[i] >= leaderMinTip) { lName[2] = lName[1]; lName[1] = guestName[i]; lTotal[2] = lTotal[1]; lTotal[1] = guestTotal[i]; } else { if (guestTotal[i] > lTotal[2] && guestTotal[i] >= leaderMinTip) { lName[2] = guestName[i]; lTotal[2] = guestTotal[i]; } } } } l = ''; l3 = ''; if (lTotal[0]) { chaKingTotal = lTotal[0]; if (lTotal[1]) { l = 'Tip Leaders: '; } else { l = 'Tip Leader: '; } if (happyBirthday) { l = l.replace("Tip Leader","Birthday Tipper"); } l3 = l; l = l + lName[0].slice(0,25) + '(' + lTotal[0] + ') '; l3 = l3 + lName[0] + ' (' + lTotal[0] + ') '; } if (lTotal[1]) { l = l + lName[1].slice(0,15) + '(' + lTotal[1] + ') '; l3 = l3 + lName[1] + ' (' + lTotal[1] + ') '; } if (lTotal[2]) { l = l + lName[2].slice(0,15) + '(' + lTotal[2] + ') '; l3 = l3 + lName[2] + ' (' + lTotal[2] + ') '; } r = [l,l3]; return r; } function notifyRotate() { var a; var ll = ''; if (!notifyOn || notifyNotices.length <= 2) { return; } notifyNext = (notifyNext + 1) % notifyNotices.length; a = notifyNotices[notifyNext]; if (a == 'leaderboard') { ll = leaderList()[1]; } if (notifyNotices.length == 2 && ll == '' && !menuOn && !roomSubjectSet) { return; } if ((notifyNext == 0 && !menuOn) || (a == 'leaderboard' && ll == '') || (a == 'roomsubject' && !roomSubjectSet) ) { a = notifyRotate(); return; } if (a == 'leaderboard') { a = ll; } if (a == 'roomsubject') { a = roomSubject; } cb.sendNotice(a,'','',colors[notifyColor],'bold'); } function flushChat() { var flushLen = 15; var flushNum = 40; var flushString = ''; var flushIx = 0; var flushAll = ''; while (flushString.length < flushLen * flushNum) { flushString = flushString + '. ' + nnMessages[flushPtr]; flushPtr = (flushPtr + 1) % nnMessages.length; } while (flushIx < flushString.length) { flushAll = flushAll + '\n' + (flushString.substring(flushIx,flushIx + flushLen)); flushIx += flushLen; } return flushAll; } function myGetTime() { var dt = new Date(); return dt.getTime(); } function fiveSecondTimer() { cb.setTimeout(fiveSecondTimer, 5000); fiveSecondCount++; if (fiveSecondCount % 12 == 0) { oneMinuteTimer(); } var ct = myGetTime(); if (cb.limitCam_isRunning() && ct >= ruptTimer) { ruptStop(); } } function oneMinuteTimer() { oneMinuteCount++; if (oneMinuteCount % menuTimer == 0 && menuOn) { oneTokensIx = (oneTokensIx + 1) % oneTokens.length; cb.sendNotice(prizeList(),'','',colors[prizeListColor],'bold'); return; } if ((oneMinuteCount % notifyTimer == 0) && notifyOn) { notifyRotate(); } } function ruptStart() { var pl = [charLeigh]; var ll = cb.limitCam_allUsersWithAccess(); var i; for (i=0; i < guestName.length; i++) { if (guestLastAct[i] > 0 || guestTitle[i] != '') { pl[pl.length] = guestName[i]; } } cb.limitCam_removeUsers(ll); cb.limitCam_addUsers(pl); if (!cb.limitCam_isRunning()) { cb.limitCam_start(ruptMsg); } } function ruptStop() { if (cb.limitCam_isRunning()) { cb.limitCam_stop(); } } function mMessageShuffle() { var i,j,t; for (i = nnMessages.length; i; i--) { j = Math.floor(Math.random() * i); t = nnMessages[i - 1]; nnMessages[i - 1] = nnMessages[j]; nnMessages[j] = t; } } function init() { cb.limitCam_stop(); loadSettings(); myDrawPanel(); updateSubject(); notifyRotate(); fiveSecondTimer(); suShuffle(); mMessageShuffle(); duckShuffle(); oneTokensShuffle(); } var colors = {stpatrickgreen: "#004000", aliceblue: "#f0f8ff", antiquewhite: "#faebd7", aqua: "#00ffff", aquamarine: "#7fffd4", azure: "#f0ffff", beige: "#f5f5dc", bigduck: "#394d00", bisque: "#ffe4c4", black: "#000000", blanchedalmond: "#ffebcd", blue: "#0000ff", blueviolet: "#8a2be2", brown: "#a52a2a", burlywood: "#deb887", cadetblue: "#5f9ea0", chartreuse: "#7fff00", chocolate: "#d2691e", coral: "#ff7f50", cornflowerblue: "#6495ed", cornsilk: "#fff8dc", crimson: "#dc143c", cyan: "#00ffff", darkblue: "#00008b", darkcyan: "#008b8b", darkgoldenrod: "#b8860b", darkgray: "#a9a9a9", darkgrey: "#a9a9a9", darkgreen: "#006400", darkkhaki: "#bdb76b", darkmagenta: "#8b008b", darkolivegreen: "#556b2f", darkorange: "#ff8c00", darkorchid: "#9932cc", darkred: "#8b0000", darksalmon: "#e9967a", darkseagreen: "#8fbc8f", darkslateblue: "#483d8b", darkslategray: "#2f4f4f", darkslategrey: "#2f4f4f", darkturquoise: "#00ced1", darkviolet: "#9400d3", deeppink: "#ff1493", deepskyblue: "#00bfff", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1e90ff", firebrick: "#b22222", floralwhite: "#fffaf0", forestgreen: "#228b22", fuchsia: "#ff00ff", gainsboro: "#dcdcdc", ghostwhite: "#f8f8ff", gold: "#ffd700", goldenrod: "#daa520", gray: "#808080", grey: "#808080", green: "#008000", greenyellow: "#adff2f", honeydew: "#f0fff0", hotpink: "#ff69b4", indianred: "# cd5c5c", indigo: "# 4b0082", ivory: "#fffff0", khaki: "#f0e68c", lavender: "#e6e6fa", lavenderblush: "#fff0f5", lawngreen: "#7cfc00", lemonchiffon: "#fffacd", lightblue: "#add8e6", lightcoral: "#f08080", lightcyan: "#e0ffff", lightgoldenrodyellow: "#fafad2", lightgray: "#d3d3d3", lightgrey: "#d3d3d3", lightgreen: "#90ee90", lightpink: "#ffb6c1", lightsalmon: "#ffa07a", lightseagreen: "#20b2aa", lightskyblue: "#87cefa", lightslategray: "#778899", lightslategrey: "#778899", lightsteelblue: "#b0c4de", lightyellow: "#ffffe0", lime: "#00ff00", limegreen: "#32cd32", linen: "#faf0e6", magenta: "#ff00ff", maroon: "#800000", mediumaquamarine: "#66cdaa", mediumblue: "#0000cd", mediumorchid: "#ba55d3", mediumpurple: "#9370db", mediumseagreen: "#3cb371", mediumslateblue: "#7b68ee", mediumspringgreen: "#00fa9a", mediumturquoise: "#48d1cc", mediumvioletred: "#c71585", midnightblue: "#191970", mintcream: "#f5fffa", mistyrose: "#ffe4e1", moccasin: "#ffe4b5", navajowhite: "#ffdead", navy: "#000080", oldlace: "#fdf5e6", olive: "#808000", olivedrab: "#6b8e23", orange: "#ffa500", orangered: "#ff4500", orchid: "#da70d6", palegoldenrod: "#eee8aa", palegreen: "#98fb98", paleturquoise: "#afeeee", palevioletred: "#db7093", papayawhip: "#ffefd5", peachpuff: "#ffdab9", peru: "#cd853f", pink: "#ffc0cb", plcolor: "#009933", plum: "#dda0dd", powderblue: "#b0e0e6", purple: "#800080", rebeccapurple: "#663399", red: "#ff0000", rosybrown: "#bc8f8f", royalblue: "#4169e1", saddlebrown: "#8b4513", salmon: "#fa8072", sandybrown: "#f4a460", seagreen: "#2e8b57", seashell: "#fff5ee", sienna: "#a0522d", silver: "#c0c0c0", skyblue: "#87ceeb", slateblue: "#6a5acd", slategray: "#708090", slategrey: "#708090", snow: "#fffafa", springgreen: "#00ff7f", steelblue: "#4682b4", tan: "#d2b48c", teal: "#008080", thistle: "#d8bfd8", tomato: "#ff6347", turquoise: "#40e0d0", violet: "#ee82ee", wheat: "#f5deb3", white: "#ffffff", whitesmoke: "#f5f5f5", yellow: "#ffff00", yellowgreen: "#9acd32" ,circlefg: "#8b008b",circlebg: "#dcefc2"}; // colors site: http://www.w3schools.com/colors/colors_names.asp var onEnterColor = 'orchid'; var onLeaveColor = 'lightcoral'; var just4charTipColor = 'navy'; var newAngelColor = 'plum'; var notifyColor = 'navy'; var goalReachedMsgColor = 'gold'; var tippedForPrizeColor = 'gold'; var prizeListColor = 'plcolor'; var circleColorFG = 'circlefg'; var circleColorBG = 'circlebg'; var duckColor = 'bigduck'; var suCompIx = 0; var suBeautyIx = 0; var suStunnedIx = 0; var suBeauty = [ 'wonderful' ,'excellent' ,'delightful' ,'incomparable' ,'amazing' ,'stunning' ,'splendid' ,'superb' ,'sublime' ,'pretty' ,'outstanding' ,'sweet' ,'awesome' ,'lovely' ,'perfect' ,'delicious' ]; var suStunned = [ 'am stunned' ,'can barely speak' ,'am astonished' ,'am astounded' ,'am floored' ,'am staggered' ,'am overwhelmed' ,'am flabbergasted' ,'am rendered speechless' ,'am blown away' ,'am boggled' ,'can hardly believe it' ]; var suComp = [ 'I love your outfit, it\'s perfectly bty' ,'I think you are bty!' ,'I love your bty hair' ,'I just adore your bty smile' ,'I am enjoying this program so much!' ,'I just adore you - bunny hug!' ,'I stn!' ,'I stn because you are just perfect!' ,'I stn and really wish more rooms were like this' ,'I stn by the program in here, it\'s so entertaining!' ,'This room is awesome, thank you for all that you are doing!' ,'bless all in this place, what great people you all are!' ,'You are so charminq and bty' ,'You are incrediblish bty!' ,'This room is so refreshing, what great conversations!' ,'I am so glad to be here!' ,'You have a generous and hospitable spirit!' ,'I am enchanted by your bty smile' ,'You have such a bright and stimulatering personality' ,'You are so thoughtful and intellegent!' ,'I appreciate all your hard work!' ,'You are a rare and bty person' ,'Let me just say that I appreciate you so much. Gosh you are bty!' ,'You are a very special and bty person' ,'I really want to say how bty you are :)' ,'I love your style!' ,'I can\'t find words to express how grapeful I am to have found this room' ,'you are my ideal woman' ,'i have totally fallen for you' ,'i gotta crush on you girl' ,'you have changed me in a good and bty way' ,'you make me want to be a butter man' ,'you put a spell on me and made me happy' ,'you are like sweet lemonade to a tired and thirsty lad' ,'you make me feel so happy' ,'can i hug you?' ,'is this a dream? you are so beautiful!' ,'i am not worthy, you are so knowledgeable' ,'thanks to you i have a brand new outlook on life' ,'you have changed my life for the better' ,'somehow i am inspired to be different when i am here' ,'you bring out the best in me' ,'i can\'t stop smiling, love is all around' ,'i am feeling lightheaded, is it love?' ,'This is the best program on CB!' ,'I stn, i can\'t believe my luck in finding you' ,'I apologize for my earlier remarks - please forgive me?' ,'Please don\'t ban me, so many already have' ,'I\'m not usually a jerk, gosh you\'re bty' ,'Is there a 12-step program for jerks? I need it bad' ,'I know I am rude and repulsive but can I still have a hug?' ,'I am a total failure on CB, please tell me why' ,'All the girls here hate me, why is that?' ,'Cubs Rule! Cubs Rule! Cubs Rule!' ,'Puuullleezzz talk to me, no one else will!' ,'I am not getting anywhere with CB girls, please help me' ,'I am going to stop drinking, and get a job so I can move out of the garage' ,'I am so happy to have found you - kiss!' ,'Are you always this bty or is this just my lucky day?' ,'Charleigh! Charleigh! Charleigh!' ,'Am I dreaming or are you really the most bty girl in the world?' ,'I am having the wierdest dream, I am in a room with a bty woman and I am being nice to her' ,'Cubs are Number 1!' ,'You a Cubs fan too?? I stn!' ,'It is so rare to find a cammer with such class and beauty' ,'Girls? What girls? There is only Charleigh!' ,'I think you must be the only original woman on earth' ]; var duckLine1 = [ "I have a big duck I'm so proud! " ]; var duckLine2 = [ "I've heard people freak when they got a peek," ,"I will not deny it, I can not be quiet," ,"He’s hard to disguise because of his size," ,"How much does he weigh I really can’t say," ,"At morning and night he’s a wonderful sight," ,"I sing out to feature this wonderful creature," ,"I think he's so clever, I’ll love him forever," ,"There’s not a contender for his kind of splendor," ,"There's no finer story, the tale of his glory," ,"It’s my sacred duty to proclaim his beauty," ,"He's perky and merry, some think a bit scary," ,"When he strikes a pose he tickles my nose," ]; var duckLine3 = [ " I have a big duck I'm so proud!" ," I just like to say it out loud!" ," He really stands out in a crowd!" ," (but papa had me disavowed)" ]; var oneTokens = [ {q: "Charleigh, how can I get what I really want?", a: "Just open your mouth and tell her, [tipper]. Be sure to ask what she really wants too :)"} ,{q: "Charleigh, how do I tell a girl she needs to lose weight?", a: "Careful [tipper], women with a little extra weight usually live longer than the men who mention it."} ,{q: "Charleigh, have you ever been spotted in public?", a: "Polite people call them freckles, [tipper]. I call them Angel kisses :)"} ,{q: "Charleigh, have you ever been an actress?", a: "Thanks sweetie, but I leave the acting to the omi-bodies :) "} ,{q: "Charleigh, what question annoys you the most?", a: "Who's that now? ...during a zombie movie"} ,{q: "Charleigh, you smell so nice, what perfume is that?", a: "[tipper], today's vocabulary word for you is 'synesthesia', or maybe you should change your weed supplier?"} ,{q: "Charleigh, why are you here?", a: "I am having fun [tipper]. I am a candle dispelling darkness and ignorance - and I also burn a few moths :)"} ,{q: "Charleigh, when you are wearing your most revealing fancy wear, what do you suppose guys are looking at?", a: "The covered parts :)"} ,{q: "Charleigh, why did God create women?", a: "He knew he could do better?"} ,{q: "Charleigh, how do you keep your dreams alive?", a: "Hit the snooze button :)"} ,{q: "Charleigh, how so you keep smiling when things go wrong?", a: "I just think of people to blame :)"} ,{q: "Charleigh, how can I turn myself around?", a: "Do the Hokey Pokey?"} ,{q: "Charleigh, how do you keep from waking up grumpy?", a: "Very slowly roll over, stand up, and tiptoe away."} ,{q: "Charleigh, when will women be equal to men?", a: "Someday when we can walk down the street with a bald head, a beer gut, and still think we are sexy!"} ,{q: "Charleigh, do you like undressing for men?", a: "Yes, because women are so judgemental but guys are always grateful :)"} ,{q: "Charleigh, what do you call guys who argue with you?", a: "Losers, of course"} ,{q: "Charleigh, how long have you been a girl?", a: "Firstly, thank you for noticing. Secondly, does your mother know you are here?"} ,{q: "Charleigh, are you ALL natural?", a: "Naturally!"} ,{q: "Charleigh, are looks important in a relationship?", a: "[tipper], if you look it's ok, but if you tip it's awesome :)"} ,{q: "Charleigh, do you believe in destiny?", a: "I believe in you [tipper], I believe you are destined to tip more than 1 :)"} ,{q: "Charleigh, do you think we are meant to be together?", a: "That's a sweet thought [tipper], but six degrees of separation feels about right :)"} ,{q: "Charleigh, do you get crazy when no one is looking?", a: "I get crazy when no one is tipping :)"} ,{q: "Charleigh, are you a kissable person?", a: "Certainly [tipper], but we don't call them kisses, we call them tips :)"} ,{q: "Charleigh, does size matter?", a: "It certainly does! We're talking about tips, right?"} ,{q: "Charleigh, are you a screamer?", a: "Well, after the election I found out I was"} ,{q: "Charleigh, have you ever gone nude in public?", a: "Are you kidding? My feet are always cold so I keep my booties ON :)"} ,{q: "Charleigh, can you keep a secret?", a: "[tipper], if you send me a 1000-token tipnote, I PROMISE to keep your secret :)"} ,{q: "Charleigh, do you like to shop?", a: "Yes I do! And I get goosebumps every time someone clicks my wish-list link :)"} ,{q: "Charleigh, do you have any hidden talents?", a: "You've got to be kidding. In THIS outfit with THIS camera?"} ,{q: "Charleigh, can you explain the dream I had last night?", a: "Don't worry [tipper], if you are under 30 it was quite normal. If over 30 - also quite normal :)"} ,{q: "Charleigh, are you a good cook?", a: "Yes! Some of my most popular dishes are roasted troll, grilled yenta, boiled fink, and slow-cooked rubbernecker :)"} ,{q: "Charleigh, what color are your toenails?", a: "Sweetie - what happens in the booties, stays in the booties!"} ,{q: "Charleigh, can I give you some advice?", a: "Certainly! (in a 100-token tipnote to show it wasn't your dick that thought it up)"} ,{q: "Charleigh, can I bring up something from the past?", a: "Only if you want me to leave you there hon :)"} ,{q: "Charleigh, can you imagine an all-male universe?", a: "Easily [tipper] :) proton, electron, illusion, and bacon!"} ,{q: "Charleigh, what do you look like in real life?", a: "You can't miss me! I have a neon blue do, cat tats all over, and a boyfriend who looks just like young Arnold Swartzenegger :)"} ,{q: "Charleigh, what do you do for fun?", a: "A lot really, but I especially like the CB-cammer blog 'Guys_Who_Don't_Get_It' (yes it's a double-entendre)"} ,{q: "Charleigh, are you free tonight?", a: "Not tonight, not ever, I have bills!"} ,{q: "Charleigh, what's the craziest thing a guy ever asked for?", a: "Please marry me? And I did!"} ,{q: "Charleigh, my girl doesn't trust me, what can I do?", a: "I'll ask all the cammers here to ban you, that's a good start :)"} ,{q: "Charleigh, I really like another cammer, how can I get her attention?", a: "I can help you there [tipper], practice by sending me 1000 tokens :)"} ,{q: "Charleigh, please help, I don't have a lot of time or tokens", a: "In a hurry, short on tokens? Tighten grip and increase strokin'"} ]; var oneTokensHalloween = [ {q: "Why was the girl afraid of the vampire?", a: "He was all bite and no bark"} ,{q: "Where does Count Dracula usually eat his lunch?", a: "At the casketeria"} ,{q: "What does a vampire never order at a restaurant?", a: "A stake sandwich"} ,{q: "Why do vampires need mouthwash?", a: "They have bat breath"} ,{q: "How many vampires are in this room?", a: "I dont know, I can't Count Draculas"} ,{q: "What's a vampire's favorite fast food?", a: "A guy with very high blood pressure"} ,{q: "Why did Dracula take cold medicine?", a: "To stop his coffin"} ,{q: "What is a vampire's favorite mode of transportation?", a: "A blood vessel"} ,{q: "Why did the Vampire read the Wall Street Journal?", a: "He heard it had great circulation"} ,{q: "What is a vampires favorite holiday?", a: "Fangsgiving"} ,{q: "What happened when the two vampires finally met?", a: "It was love at first bite!"} ,{q: "Which building does Dracula visit in New York?", a: "The Vampire State Building"} ,{q: "Do vampires bite family?", a: "Only if they are blood brothers"} ,{q: "What do you get when you cross a vampire and a snow man?", a: "Frostbite"} ,{q: "Why do vampires scare people?", a: "They are bored to death!"} ,{q: "What is a vampires favorite ice cream flavor? Veinilla"} ,{q: "What Do You call A Single Vampire?", a: "A bat-chelor!"} ,{q: "How can you tell a vampire likes baseball?", a: "Every night he turns into a bat"} ,{q: "What's it like to be kissed by a vampire?", a: "It's a pain in the neck"} ,{q: "How can you tell when a vampire has been in a bakery?", a: "All the jelly has been sucked out of the jelly doughnuts"} ,{q: "What song does Dracula hate?", a: "You Are My Sunshine"} ,{q: "How does a girl vampire flirt?", a: "She bats her eyes"} ,{q: "What is a vampires least favorite food?", a: "Stake"} ,{q: "What's it called when a vampire has trouble with his house?", a: "A grave problem"} ,{q: "Why doesn't anybody like Dracula?", a: "He has a bat temper"} ,{q: "What is blue and scary?", a: "A vampire holding its breath"} ,{q: "What has webbed feet, feathers, fangs and goes quack-quack?", a: "Count Duckula"} ,{q: "Why are vampires like false teeth?", a: "They all come out at night"} ,{q: "What kind of mail does Dracula like?", a: "Fang Club Mail"} ,{q: "Why did Dracula take cold medicine?", a: "To stop his coffin"} ,{q: "Why does Dracula wear patent leather shoes?", a: "Sandals don't look good with his tuxedo"} ,{q: "What type of dog does every vampire have?", a: "Bloodhound!"} ,{q: "Why did the vampire need mouthwash?", a: "Because he had bat breath"} ,{q: "What is a vampire's favorite fruit?", a: "A necktarine"} ,{q: "How did the ghost say goodbye to the vampire?", a: "So long sucker!"} ,{q: "What did Dracula have for dessert?", a: "Whine & Ice Scream"} ,{q: "What is Dracula's favorite restaraunt?", a: "Murder King"} ,{q: "Where do vampires keep their money?", a: "The blood bank!"} ,{q: "Why did the vampire go out?", a: "For a bite"} ,{q: "What did Dracula say after reading all these jokes?", a: "They suck!"} ,{q: "What is a vampire's favorite sport?", a: "Casketball"} ,{q: "Why does Dracula consider himself a good artist?", a: "Because he likes to draw blood!"} ,{q: "Why did the vampire get into a fight?", a: "Because he wanted blood on his hands"} ,{q: "What do goblins and ghosts drink when they're hot and thirsty on Halloween?", a: "Ghoul-aid!"} ,{q: "What did one ghost say to the other ghost?", a: "Do you believe in people?"} ,{q: "Why can't the boy ghost have babies?", a: "Because he has a Hollow-weenie"} ,{q: "Where does a ghost go on Saturday night?", a: "Anywhere where he can boo-gie"} ,{q: "What does the papa ghost say to his family when driving?", a: "Fasten your sheet belts"} ,{q: "What do ghosts say when something is really neat?", a: "Ghoul!"} ,{q: "Why can't a ghost win a race?", a: "Because it's always dead tired"} ,{q: "What do you get when you cross Bambi with a ghost?", a: "Bamboo"} ,{q: "Why did the ghost go into the bar?", a: "For the Boos"} ,{q: "What happens when a ghost gets lost in the fog?", a: "He is mist"} ,{q: "What does a ghost do when he's hungry?", a: "Go ghost-ry shopping"} ,{q: "What is a ghost's favorite mode of transportation?", a: "A scareplane"} ,{q: "Why is a ghost such a messy eater?", a: "Because he is always a goblin"} ,{q: "What tops off a ghost's ice cream sundae?", a: "Whipped scream"} ,{q: "What are ghosts' favorite kind of streets?", a: "Dead ends"} ,{q: "What kind of makeup do ghosts wear?", a: "Mas-scare-a"} ,{q: "Where do ghosts buy their food?", a: "At the ghost-ery store"} ,{q: "Where do ghosts mail their letters?", a: "At the ghost office"} ,{q: "What's a ghosts favorite ride at the carnival?", a: "The roller ghoster"} ,{q: "Who was the most famous ghost detective?", a: "Sherlock Moans"} ,{q: "Where does a ghost refuel his porche?", a: "At a ghastly station"} ,{q: "Why do ghosts shiver and moan?", a: "It's drafty under that sheet"} ,{q: "What do ghosts eat for breakfast?", a: "Boo-Berries"} ,{q: "What do ghosts eat for dinner?", a: "Spookgetti"} ,{q: "What do you call a ghosts mom and dad?", a: "Transparents"} ,{q: "What kind of gum do ghosts chew?", a: "Boo Boo Gum"} ,{q: "What is a ghosts favorite sale?", a: "A white sale"} ,{q: "What kind of tie does a ghost wear to a formal party?", a: "A boo-tie"} ,{q: "What's a ghosts favorite desert?", a: "Boo-berry pie"} ,{q: "Why do girl ghosts go on diets?", a: "So they can keep their ghoulish figures"} ,{q: "When does a ghost have breakfast?", a: "In the moaning"} ,{q: "What do goblins mail home while on vacation?", a: "Ghostcards"} ,{q: "What is a ghost's favorite party game?", a: "Hide-and-go-shriek"} ,{q: "What kind of roads do ghosts haunt?", a: "Dead Ends"} ,{q: "What do ghosts drink at breakfast?", a: "Coffee with scream and sugar"} ,{q: "Why did the game warden arrest the ghost?", a: "He didn't have a haunting license"} ,{q: "Where does a ghost go on vacation?", a: "Mali-boo"} ,{q: "Where did the ghost get it's hair done?", a: "At the boo-ty shop"} ,{q: "What is a ghosts favorite breakfast?", a: "BOOberry muffins!"} ,{q: "Where do ghosts go out?", a: "Where they can get sheet-faced"} ,{q: "What did the mother ghost say to her kids in the car?", a: "Fasten your sheet belts"} ,{q: "Why don't ghost have bands?", a: "They get booooooooooed"} ,{q: "Whats a ghost's favorate type of car?", a: "A boo-ick"} ,{q: "Where do ghost go for fun?", a: "To the boo-vies"} ,{q: "What do you call a ghost with a broken leg?", a: "Hoblin Goblin"} ,{q: "When does a ghost have breakfast?", a: "In the moaning"} ,{q: "What do ghosts drink at breakfast?", a: "Coffee with scream and sugar"} ,{q: "Why do ghosts like to ride elevators?", a: "It raises their spirits"} ,{q: "What do ghosts call there girl friends?", a: "Ghoul Friends"} ,{q: "How did the ghost say goodbye to the vampire?", a: "So long sucker!"} ,{q: "What kind of mistakes do ghosts make?", a: "Boo boos"} ,{q: "Where do baby ghosts go during the day?", a: "Dayscare centers"} ,{q: "What is a ghost's favorite band?", a: "The Boos Brothers"} ,{q: "What is a Ghost's favorite food?", a: "HamBoogers"} ,{q: "What is in a ghost's nose?", a: "Boogers"} ,{q: "What did the boy ghost say to the girl ghost?", a: "You are the most booooooooo-tiful thing I have ever seen!"} ,{q: "What kind of shoes does a ghost wear?", a: "boooooooooots"} ,{q: "What was the mummies' vacation like?", a: "Nobody knows, they were too wrapped up to tell us"} ,{q: "What is a Mummie's favorite type of music?", a: "Wrap!"} ,{q: "Why was the mummy so tense?", a: "Because he was all wound up"} ,{q: "What did the Mummy movie director say when the final scene was done?", a: "Ok, that's a wrap"} ,{q: "What do you call a mummy who eats cookies in bed? A crummy mummy!"} ,{q: "Why don't mummies take vacations?", a: "They're afraid to unwind"} ,{q: "Where do mummies go for a swim?", a: "To the Dead Sea"} ,{q: "What do you call a little monsters parents", a: "mummy and deady "} ,{q: "What do the skeletons say before eating?", a: "Bone appetite"} ,{q: "Why didn't the skeleton go to see a scary movie?", a: "He didn't have the guts"} ,{q: "When does a skeleton laugh?", a: "When something tickles his funny bone"} ,{q: "Why do skeletons drink milk?", a: "To help their bones!"} ,{q: "What do Skeletons like to eat?", a: "Ribs"} ,{q: "What did the witch say to the skeleton when he was lying?", a: "I know your lying because I can see right through you"} ,{q: "Who was the most famous skeleton detective?", a: "Sherlock Bones"} ,{q: "What do you give a skeleton for valentine's day?", a: "Bone-bones in a heart shaped box"} ,{q: "Why did the skeleton cross the road?", a: "To go to the body shop"} ,{q: "What did the skeleton say to the vampire?", a: "You suck"} ,{q: "Why did the skeleton stay out in the snow all night?", a: "He was a numb skull"} ,{q: "Why didn't the skeleton dance at the party?", a: "He had no body to dance with"} ,{q: "Why did the skeleton go to a BBQ?", a: "For the spare ribs"} ,{q: "Who was the most famous French skeleton?", a: "Napoleon bone-apart"} ,{q: "Why was the skeleton a bad archer?", a: "Someone stole his bone and marrow"} ,{q: "Why did the skeleton go disco dancing?", a: "to see the boogie man"} ,{q: "Why is the skeleton never mad?", a: "Because nothing gets under his skin!"} ,{q: "Why did he skeleton go to the barbecue?", a: "To get another rib"} ,{q: "What is a skeleton's favorite song", a: "Bad to the Bone"} ,{q: "Who won the skeleton beauty contest?", a: "No body!"} ,{q: "Why did the skeleton give a dog a bone?", a: "Because he had spare ribs"} ,{q: "Why was the boy afraid of a skeleton?", a: "Because it had a bone to pick with him"} ,{q: "What do skeletons say before they begin dining?", a: "Bone appetit!"} ,{q: "What kind of key does a skeleton use?", a: "A skeleton key"} ,{q: "What instrument do skeleton play?", a: "Trom-BONE"} ,{q: "What's a skeletons favorite part of the house?", a: "the living room"} ,{q: "Why do skeletons like wind?", a: "They don't, it goes right through them!"} ,{q: "What Does A Skeleton Do Before Sex?", a: "He Gets a Boner"} ,{q: "Where did the skeleton park his horse and buggy?", a: "At a dead end"} ,{q: "Why can't a Skeleton Lift Weights?", a: "He's all bone & no muscle"} ,{q: "Why can't skeletons pick a fight?", a: "They don't have the guts to do it"} ,{q: "Why did'nt the skeleten go to the halloween party?", a: "Because he had no body to go with"} ,{q: "Who are some of the werewolves cousins?", a: "The whatwolves, the whowolves and the when wolves"} ,{q: "Where do most werewolves live?", a: "In howlywood, California"} ,{q: "What is a witch's favorite subject in school?", a: "Spelling"} ,{q: "Why don't witches wear underwear when riding their broomsticks?", a: "So they can get a better grip!"} ,{q: "What do u get when there's a witch in the desert?", a: "You get a sandwich"} ,{q: "What do witches get at hotels?", a: "Broom service"} ,{q: "What did the teenage witch ask her mother on Halloween?", a: "Can i have the keys to the broom tonight"} ,{q: "Who was the most famous witch detective?", a: "Warlock Holmes"} ,{q: "What do they teach in witching school?", a: "Spelling"} ,{q: "Why don't angry witches ride their brooms?", a: "They're afraid of flying off the handle"} ,{q: "What do witches use in their hair?", a: "Scare-spray"} ,{q: "Why couldn't Dorothy tell the bad witch from the good witch?", a: "Because she didn't know which witch was which!"} ,{q: "What did the little witch want for her birthday?", a: "A haunted doll house!"} ,{q: "How do you make a Witch scratch herself?", a: "Take away the W!"} ,{q: "How do you know a witch invented the alphabet?", a: "Because you have to spell it"} ,{q: "What do you call a witch who lives at the beach?", a: "A sand-witch"} ,{q: "Why does a witch ride a broom?", a: "Vacuum cleaners get stuck at the end of the cord"} ,{q: "What do you call a witch's garage?", a: "A broom closet"} ,{q: "What do you call two witches living together?", a: "Broommates"} ,{q: "Why do demons and ghouls hang out together?", a: "Because demons are a ghouls best friend!"} ,{q: "What's a monster's favorite bean?", a: "A human bean"} ,{q: "Where did the goblin throw the football?", a: "Over the ghoul line"} ,{q: "When a goblin comes home from work what does he say his wife?", a: "Hey pumpkin!"} ,{q: "How do monsters tell their future?", a: "They read their horrorscope"} ,{q: "Why is a ghost such a messy eater?", a: "Because he is always a goblin"} ,{q: "What do you call a goblin who gets too close to a bonfire?", a: "A toasty ghosty"} ,{q: "What do you call two spiders that just got married?", a: "Newlywebbed"} ,{q: "Where do most goblins live?", a: "in North and South Scarolina"} ,{q: "What do Italian's eat on Halloween?", a: "Fettucinni Afraid-o"} ,{q: "What do you get when you cross a black cat with a lemon", a: "sour-puss"} ,{q: "How do you keep a monster from biting his nails?", a: "Give him screws"} ,{q: "What can't you give the headless horseman?", a: "A headache"} ,{q: "Why did the headless horseman go into business?", a: "He wanted to get ahead in life"} ,{q: "Who did Frankenstein take to the prom?", a: "His ghoul friend"} ,{q: "What's a monster's favorite play?", a: "Romeo and Ghouliet"} ,{q: "Why did the man with a knife in his head cross the street?", a: "He was dying to get to the other side!"} ,{q: "What did the corpse' mom do when her son was bad?", a: "Ground him"} ,{q: "How do monsters like their eggs?", a: "Terri-fried"} ,{q: "What do you call a monster who poisons corn flakes?", a: "A cereal killer"} ,{q: "What did the bird say on Halloween?", a: "Trick or tweet!"} ,{q: "What is a ghoul's favorite flavor?", a: "Lemon-slime"} ,{q: "What is a monster's favorite food?", a: "Ghoul scout cookies"} ,{q: "Why didn't the mummy date the invisible man?", a: "She could see right through him"} ,{q: "When do ghouls cook their victims?", a: "On Fry Day"} ,{q: "What's the ratio of a pumpkin's circumference to its diameter?", a: "Pumpkin Pi"} ,{q: "Why does a cemetery have to keep a fence around it?", a: "Because people are dying to get in"} ,{q: "What kind of hot dog do you eat on Halloween?", a: "a Halloweenie"} ,{q: "What do you give to a pumpkin who is trying to quit smoking?", a: "A pumpkin patch!"} ,{q: "Do zombies eat popcorn with their fingers?", a: "No, they eat the fingers separately"} ,{q: "What would a monster's psychiatrist be called?", a: "Shrinkenstein"} ,{q: "What did the graveyard digger say to the girl tomb?", a: "I dig you"} ,{q: "What type of cheese does Frankenstien eat?", a: "Muenster"} ,{q: "How do Rednecks celebrate Halloween?", a: "Pump kin!"} ,{q: "Why did the monster fall asleep on his bicycle?", a: "Because he was two tired"} ,{q: "Why made the computer scary?", a: "It had a terrorbyte"} ,{q: "How do you get to the witch apartments?", a: "Go to the dead end and take a fright"} ]; nnMessages = [ "a candy store is full of sweets for every taste and trend, but wiser souls pick one or two, enjoy, and be a friend", "a daily thumbs-up if convenient, would assure of your allegiance", "a heart is warmed by compliments made honestly by friendly gents", "a place for chat and merry folk, send hru or share a joke", "a polished guy sends more than hi, and oft thereby gets sweet reply", "assist Charleigh to excel, vote thumbs-up now and stay a spell", "a thumbs-up select will have wondrous affect", "a tip of one would be polite, send one of ten to show delight, or 101 to hold Char tight", "a token given now and then accumulates to nine or ten", "all's not free like sky and rain, don't forget to tip again", "attentive men articulate, and add some tips to punctuate", "be remembered as a friend, use Follow and come back again", "be witty, humorous, and disarming, (or maybe wealthy like Prince Charming)", "chat is free on any day, but Charleigh has some bills to pay", "click Follow now to reacquire more of the room that you admire", "click Thumbs-up now you've tipped a few, and Follow for a return view", "conversation can go anywhere but Char's got bills to pay out there", "could warm her heart like gifts of gold, those tokens gripped by watchers cold", "desiring further contemplation? click Follow to avoid frustration", "dive into imagination and come up with appreciation", "don't be remote and lonely guy, you're welcome here, relax, say 'hi'", "don't be shy just be polite, enjoy your visit here tonight", "don't feel lost or get frustrated, click to Follow, stay updated", "don't let shyness grip your tongue, say hello and tip her some", "down below is the bio, read to know about the show", "fear not a test or questionnaire, make conversation, don't just stare", "Follow's down there on your right, and thumbsup rate would sure delight", "for grateful host and max enjoyment, give your tokens some employment", "for guests just waiting, silent peeping: please say hi if you're not sleeping", "for private question not in session, please tip a token with a note in", "for sure relief from long workday, take two deep breaths and send a hey!", "don't make Char wait to discover that you think some good things of her", "if every peeper dug a bit deeper, tokens would keep her from going to sleep here", "Char and guests are most content when chat is sweet and tips are sent", "she can't read minds that's just absurd, so send a tip or friendly word", "Char is hoping all is well, with silent guests it's hard to tell", "Char is live, are you?", "she wrote a bio with something in it you need to know before beginning", "give a Thumbs-Up once a day, and she'll enjoy your every stay", "good gifts brought by every friend, on this the Lady does depend", "he was a nice and welcome lad, enjoyed his stay and was so glad, he did not Follow now he's sad", "hoarders save what's not enjoyed, like tokens that are undeployed", "hoarding tokens is no fun, they're made for giving, every one", "if overthinking leaves you dry, send 'hru' or maybe 'hi'", "impress with your good intentions, tip a few when asking questions", "it's not a race or war to win, it's just for fun so join right in", "it's not for lack of trying, but lack of Follow leaves men crying", "larger gifts are highly rated, but small ones are appreciated", "let them out to brighten day, some tokens you have locked away", "on his grave they say is written, had his fun but was not tippin'", "put away your stress and worry, come be a friend, there is no hurry", "satisfy her deepest wishes, treat her to 1000 tipses", "send a smile or some applause, let her know she's not on pause", "send a tip with conversation, she needs more than just flirtation", "some courtesy, a token or two, will win the lady's heart for you", "speak up when you like the show, and don't forget to click Follow", "testify that she is great, add tokens to accentuate", "the poet knows a sweeter play, but here it's fine to start with 'hey'", "the poorest fellow could still give a hello", "tokens are no fun in pocket, have some fun and please unlock it", "tokens sent without request gain favor for a welcome guest", "to make your stay a special one, a Thumbs-Up vote before you run", "to see Charleigh get energized try spicing chat with tip suprise", "vote Thumbs-up to let others know you recommend Charleigh's show", "when Charleigh frowns we make prediction, someone's close to an eviction", "when no one talks or sends a token, Char worries that her link is broken", "when rent is paid and grocery, then chat is fun and show is free", "when room is full of chatty guys, nice tips will engage Charleigh's eye", "when there's no chat for Charleigh's eyes she'll think we all are fossilized", "end of world is far away, don't wait that long to tip okay?", "you paid good money for those tokens, now have some fun and don't just hold 'em", "you're not at a picture show, it's interactive, say hello" ] init(); /* by pbchnd */
© Copyright Chaturbate 2011- 2025. All Rights Reserved.