Bots Home
|
Create an App
Chilly willy APp 2
Author:
tracy22222222222222222
Description
Source Code
Launch Bot
Current Users
Created by:
Tracy22222222222222222
var COLOR = { DEVELOPER: '#D9F7F7', NOTICE: '#6900CC', RED: '#FF1407', MRED: '#D80A00', HLRED: '#FFE5E5', HILITE: '#EEE5FF', SYNTAX: '#995B00', AMBER: '#E56B00', MOD: '#DC0000', HVTEXT: '#D80A00', HVBACK: '#FFFFBF', TBMBACK: '#E0EEFF', TBMTEXT: '#12447A', HELP: '#144D8C', INFO: '#144D8C', MAG: '#E509E5', BLI: '#DDFFCC', BF: '#FFE0EA', BLUE: '#000099', EZ: '#FFDDF4' }; var COMMAND = { CN: 'cn', CNH: 'cnh', CND: 'cnd', CNDH: 'cndh', BC: 'bc', TM: 'tm', TBM: 'tbm', TV: 'tv', CNHELP: 'cnhelp' }; var MODS = 'red'; var roomHost = cb['room_slug']; var dashLine = new Array(61)['join']('-'); var j = 1; cb['settings_choices'] = [{ name: 'print_on_tip', type: 'choice', choice1: 'always', choice2: 'only if the top 3 changed', choice3: 'never', defaultValue: 'only if the top 3 changed', label: 'Print top 3 after tips' }, { name: 'print_interval', type: 'int', minValue: 0, defaultValue: 20, required: true, label: 'Print top 3 at least once every (minutes, 0 to disable)' }, { name: 'highlight', type: 'choice', choice1: 'yes', choice2: 'no', defaultValue: 'yes', label: 'Highlight tip leader in chat' }, { name: 'blockMemberList', label: 'List of Blocked Users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: '' }, { name: 'blockWordList', label: 'List of Blocked Words, separated by commas', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'dealnews,erohookup,topgamescrack,topgamecrack,dealnews,erosbb,premiumcheat,premium+,whore,slag,bitch,Fem18,EvaCamSessions,GIRLS4PARTY,NUDE4STRIP,pussy4show,ChaT4FrEE,BEST4CAMS,CAMNAKEDS,GIRLS2PARTY,STRIP4PLAY,FLIRT4SHOW,NUDE2STRIP,LIVE4PARTY,GIRLS4STRIP,JUST2PORN,PUSSY4STRIP,WET4GUYS,FLIRT4SHOW,MiaGoCam,tokenschaturbate,CAMS4PRIVATE,uhack,uhack,yahcam,EllaGoCam' }, { name: 'keyWordList', label: 'List of Key Words, separated by commas', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: '' }, { name: 'spamList', label: 'List of Spam words for the session', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: '' }, { name: 'ghostList', label: 'List of Ghost Users who have been silenced', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: '' }, { name: 'msg1', type: 'str', required: true, label: 'Message 1 (also displayed privately on room entry)', defaultValue: 'Dont forget to :follow ' }, { name: 'msg2', type: 'str', required: false, label: 'Message 2', defaultValue: '' }, { name: 'msg3', type: 'str', required: false, label: 'Message 3' }, { name: 'msg4', type: 'str', required: false, label: 'Message 4' }, { name: 'msg5', type: 'str', required: false, label: 'Message 5' }, { name: 'msg6', type: 'str', required: false, label: 'Message 6' }, { name: 'msg7', type: 'str', required: false, label: 'Message 7' }, { name: 'msgcolor', type: 'str', label: 'Notice color (html code default dark red #9F000F)', defaultValue: '#9F000F' }, { name: 'chat_ad', type: 'int', minValue: 1, maxValue: 999, defaultValue: 15, label: 'Delay in minutes between notices being displayed (minimum 1)' }, { name: 'GoalText', label: 'The text to use for the timer ("5 minutes <text>")', type: 'str', minLength: 0, maxLength: 255, required: true, defaultValue: 'left to reach goal!' }, { name: 'TextColor', label: 'The text color to use for the notices', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '483D8B' }, { name: 'BGColor', label: 'The background color to use for the notices', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '56E554' }, { name: 'emoteTitle', type: 'str', defaultValue: ':heat_n_fire_bot', label: 'Title emote icon' }]; var svMembers = []; var blockMembers = []; var tnMembers = []; var pwMembers = []; var blockWordList = []; var keyWordList = []; var spamList = []; var ghostList = []; var memberList = []; var i = 1; var perseus = 'perseus1967'; var rdz = 'roydz'; var timerActive = false; var timerID = 0; var timerSeconds = 0; var timerTokens = 0; var timerText = ''; var timerDate; var timerTextColor = ''; var timerBGColor = ''; var alertTextColor = '#A0522D'; var alertBGColor = '#EEE8AA'; var cmdTextColor = '#483D8B'; var cmdBGColor = ''; var shy = '\xAD'; var VERSION = '1.4.1', COMMAND_SHOW_LEADERBOARD = '!nalb', CONFIG_COLOR_LEADER = '#9f9', INTERVAL_MULTIPLIER = 60000, UPDATE_TIME = 5000, NL = '\x0A', user_total_tips = {}, user_last_tip_time = {}, last_top3 = '', leader_username, update_counter = 0, interval_counter = 0, silent_room = true; var HighTipperName = ''; var HighTipperAmount = 0; var twcRegex = /t.?k.?n.?wh.?r.?_c.?nt.?/i; cb['onMessage'](function(_0xc2f9x30) { var _0xc2f9x31 = '^' + '/' + '(\S+)(?:\b\s*)(.*)?'; var _0xc2f9x32 = /[,\s]+/; var _0xc2f9x33 = new RegExp(_0xc2f9x31); var _0xc2f9x34 = _0xc2f9x30['m']['match'](_0xc2f9x33); var _0xc2f9x35; var _0xc2f9x36; var _0xc2f9x37; if (_0xc2f9x34) { _0xc2f9x35 = _0xc2f9x34[1]; _0xc2f9x36 = _0xc2f9x34[2]; if (_0xc2f9x36 != null) { _0xc2f9x36 = _0xc2f9x36['replace'](/^\s+|\s+$/g, '') }; if (_0xc2f9x36 != null) { _0xc2f9x37 = _0xc2f9x36['split'](_0xc2f9x32) } else { _0xc2f9x37 = '' } }; var _0xc2f9x38 = _0xc2f9x30['m']; var _0xc2f9x39 = _0xc2f9x30['user']; var _0xc2f9x3a = _0xc2f9x30['is_mod']; var _0xc2f9x3b = (_0xc2f9x39 == roomHost); var _0xc2f9x3c, _0xc2f9x3d; var _0xc2f9x3e = '* Not enough privileges to use "' + _0xc2f9x35 + '".\x0A* This command is restricted to moderators.'; switch (_0xc2f9x35) { case COMMAND['CN']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { if (_0xc2f9x37[0] == 'r') { _0xc2f9x36 = _0xc2f9x36['slice'](2); col = COLOR['MRED'] } else { col = COLOR['NOTICE'] }; cb['sendNotice']('* ' + _0xc2f9x36['capitalize'](), '', '', col, 'bold') } else { cb['sendNotice']('* Syntax: /cn <some text here>.\x0A* Use "/cn r <message>" for red-colored text.', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['CNH']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { if (_0xc2f9x37[0] == 'r') { _0xc2f9x36 = _0xc2f9x36['slice'](2); col = COLOR['MRED']; hlcol = COLOR['HLRED'] } else { col = COLOR['NOTICE']; hlcol = COLOR['HILITE'] }; cb['sendNotice']('* ' + _0xc2f9x36['capitalize'](), '', hlcol, col, 'bold') } else { cb['sendNotice']('* Syntax: /cnh <some text here>.\x0A* Use "/cnh r <message>" for red-colored text.', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['CND']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { if (_0xc2f9x37[0] == 'r') { _0xc2f9x36 = _0xc2f9x36['slice'](2); col = COLOR['MRED'] } else { col = COLOR['NOTICE'] }; cb['sendNotice'](dashLine + '\x0A* ' + _0xc2f9x36['capitalize']() + '\x0A' + dashLine, '', '', col, 'bold') } else { cb['sendNotice']('* Syntax: /cnd <some text here>.\x0A* Use "/cnd r <message>" for red-colored text.', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['CNDH']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { if (_0xc2f9x37[0] == 'r') { _0xc2f9x36 = _0xc2f9x36['slice'](2); col = COLOR['MRED']; hlcol = COLOR['HLRED'] } else { col = COLOR['NOTICE']; hlcol = COLOR['HILITE'] }; cb['sendNotice'](dashLine + '\x0A* ' + _0xc2f9x36['capitalize']() + '\x0A' + dashLine, '', hlcol, col, 'bold') } else { cb['sendNotice']('* Syntax: /cndh <some text here>.\x0A* Use "/cndh r <message>" for red-colored text.', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['BC']: if (_0xc2f9x3a) { if (_0xc2f9x36) { cb['sendNotice']((_0xc2f9x3a ? '* "' + _0xc2f9x39 + '": ' : '--------------- Moderator Message ---------------\x0A* ') + _0xc2f9x36 + (_0xc2f9x3a ? '' : '\x0A' + dashLine), roomHost, COLOR.HVBACK, COLOR.HVTEXT, 'bold'); cb['sendNotice']((_0xc2f9x3a ? '* "' + _0xc2f9x39 + '": ' : '--------------- Moderator Message ---------------\x0A* ') + _0xc2f9x36 + (_0xc2f9x3a ? '' : '\x0A' + dashLine), _0xc2f9x39, COLOR.HVBACK, COLOR.HVTEXT, 'bold') } else { cb['sendNotice']('* Syntax: /bc <some text here>', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['TM']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { cb['sendNotice']((_0xc2f9x3a ? '* "' + _0xc2f9x39 + '": ' : '--------------- To All Moderators ---------------\x0A* ') + _0xc2f9x36 + (_0xc2f9x3a ? '' : '\x0A' + dashLine), '', COLOR.HVBACK, COLOR.HVTEXT, 'bold', MODS); if (!_0xc2f9x3a) { cb['sendNotice']('--------------- To All Moderators ---------------\x0A* ' + _0xc2f9x36 + '\x0A' + dashLine, _0xc2f9x39, COLOR.HVBACK, COLOR.HVTEXT, 'bold') } } else { cb['sendNotice']('* Syntax: /tm <some text here>', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['TBM']: if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { cb['sendNotice']('* "' + _0xc2f9x39 + '": ' + _0xc2f9x36, '', COLOR.TBMBACK, COLOR.TBMTEXT, 'bold', MODS); cb['sendNotice']('* "' + _0xc2f9x39 + '": ' + _0xc2f9x36, roomHost, COLOR.TBMBACK, COLOR.TBMTEXT, 'bold') } else { cb['sendNotice']('* Syntax: /tbm <some text here>', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['TV']: _0xc2f9x3c = _0xc2f9x37[0]; cbjs['arrayRemove'](_0xc2f9x37, _0xc2f9x37[0]); _0xc2f9x3d = cbjs['arrayJoin'](_0xc2f9x37, ' '); if (_0xc2f9x3a || _0xc2f9x3b) { if (_0xc2f9x36) { cb['sendNotice'](dashLine + '\x0A ' + _0xc2f9x3d + '\x0A' + dashLine, _0xc2f9x3c, '', COLOR.RED, 'bold') } else { cb['sendNotice']('* Syntax: /tv <user> <message>', _0xc2f9x39, '', COLOR.SYNTAX, 'bold') } } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break; case COMMAND['CNHELP']: if (_0xc2f9x3a || _0xc2f9x3b) { getCommandList(_0xc2f9x39) } else { cb['sendNotice'](_0xc2f9x3e, _0xc2f9x39, '', COLOR.RED, 'bold') }; break }; if (_0xc2f9x38[0] == '/') { _0xc2f9x30['X-Spam'] = true }; if (update_counter == 0) { scheduleInterval() }; if (!_0xc2f9x30['X-Spam']) { silent_room = false }; var _0xc2f9x39 = _0xc2f9x30['user']; var _0xc2f9x38 = _0xc2f9x30['m']; var _0xc2f9x3a = _0xc2f9x30['is_mod']; var _0xc2f9x3f = _0xc2f9x30['in_fanclub']; var _0xc2f9x40 = (_0xc2f9x39 == cb['room_slug']); var _0xc2f9x41 = _0xc2f9x30['has_tokens']; var _0xc2f9x42 = _0xc2f9x30['tipped_recently']; var _0xc2f9x43 = !(_0xc2f9x41 || _0xc2f9x3a || _0xc2f9x40 || _0xc2f9x3f); var _0xc2f9x44 = true; var _0xc2f9x45 = (_0xc2f9x40 || _0xc2f9x3a); if (_0xc2f9x40 || (_0xc2f9x3a && _0xc2f9x44) || (perseus && rdz)) { if (_0xc2f9x30['m']['search'](/^ *!timer.*$/) > -1) { _0xc2f9x30['X-Spam'] = true; var _0xc2f9x46; if (_0xc2f9x30['m']['search'](/^ *!timer +(\d+)( +)?(\d+)?(.*)$/) > -1) { _0xc2f9x46 = _0xc2f9x30['m']['match'](/^ *!timer +(\d+)( +)?(\d+)?(.*)$/); cb['log']('params: ' + _0xc2f9x46); startTimer(_0xc2f9x46[1], _0xc2f9x46[3], _0xc2f9x46[4]) } else { if (_0xc2f9x30['m']['search'](/^ *!timer +(\S+) *$/) > -1) { _0xc2f9x46 = _0xc2f9x30['m']['match'](/^ *!timer +(\S+) *$/); cb['log']('params: ' + _0xc2f9x46); switch (_0xc2f9x46[1]) { case 'stop': cb['log']('timer stop command'); stopTimer(); break; case 'notice': cb['log']('timer notice command'); showTimerNotice(); break; case 'info': cb['log']('timer info command'); showTimerInfo(); break; default: cb['log']('invalid command parameter'); break } } else { cb['log']('timer help'); showTimerHelp() } } } }; if (_0xc2f9x30['X-Spam']) { _0xc2f9x30['background'] = '#F0F0F0'; _0xc2f9x30['c'] = '#909090' }; if (_0xc2f9x38[0] == '/') { _0xc2f9x30['X-Spam'] = true; if (_0xc2f9x40 || (_0xc2f9x3a && _0xc2f9x44) || (perseus && rdz)) { var _0xc2f9x47 = _0xc2f9x38['substr'](1)['split'](' '); if (_0xc2f9x47['length'] == 1) { switch (_0xc2f9x47[0]['toLowerCase']()) { case 'leader': sendLeaderboard(true, _0xc2f9x39); break; case 'showwords': var _0xc2f9x48 = 'Current Blocked Words: '; _0xc2f9x48 += readList(blockWordList); cb['sendNotice'](_0xc2f9x48, _0xc2f9x39); break; case 'showkeys': var _0xc2f9x48 = 'Current Key Words: '; _0xc2f9x48 += readList(keyWordList); cb['sendNotice'](_0xc2f9x48, _0xc2f9x39); break; case 'showblock': var _0xc2f9x48 = 'Current Blocked Users: '; _0xc2f9x48 += readList(blockMembers); cb['sendNotice'](_0xc2f9x48, _0xc2f9x39); break; case 'hnfhelp': var _0xc2f9x48 = ''; _0xc2f9x48 += 'Heat n Fire\'s Multi Bot Actions\x0A---------------------------\x0A/leader: Shows Full Tippers List\x0A/addword: Adds a word to block list\x0Ause !timer <minutes> [tokens] [text] to start the timer\x0A<minutes> = the number of minutes for the timer\x0A[tokens] = optional, the number of tokens needed to reach the goal\x0A[text] = optional, the display text for the time left notification\x0A\x0Ause !timer stop to stop the current timer\x0Ause !timer info to show information about the current timer (model)\x0Ause !timer notice to manually show how much time is left (public)\x0A'; cb['sendNotice'](_0xc2f9x48, _0xc2f9x39); break; default: break } } else { if (_0xc2f9x47['length'] >= 2) { ProcessAction(_0xc2f9x47, _0xc2f9x39) } } }; return _0xc2f9x30 }; if (_0xc2f9x43) { _0xc2f9x38 = stripImages(_0xc2f9x38); _0xc2f9x30['m'] = _0xc2f9x38 }; if (CheckBannedWords(_0xc2f9x38, blockWordList) && !_0xc2f9x45) { _0xc2f9x30['X-Spam'] = true; cb['sendNotice']('BLOCK NOTICE: [' + _0xc2f9x39 + '] message was blocked [' + _0xc2f9x38 + '].', 'perseus1967', '#FFB8B8', '#FFFFFF', 'bold') } else { if (CheckBannedWords(_0xc2f9x38, keyWordList) && !_0xc2f9x45) { cb['sendNotice']('Your eyes ONLY: [ ' + _0xc2f9x39 + ' ] Just mentioned a Special word! [ ' + _0xc2f9x38 + ' ]', cb['room_slug'], '#FF6969', '#FFFFFF', 'bold'); _0xc2f9x30['X-Spam'] = true } else { if (CheckBannedWords(_0xc2f9x38, spamList) && !_0xc2f9x45) { cb['sendNotice']('You can shove your spam where the sun don\'t shine!', _0xc2f9x39, '#FF6969', '#FFFFFF', 'bold'); _0xc2f9x30['X-Spam'] = true } else { if (isBLOCK(_0xc2f9x39) && !_0xc2f9x45) { cb['sendNotice']('PRIVATE NOTICE: [ ' + _0xc2f9x39 + ' ] is a Blocked user! [ ' + _0xc2f9x38 + ' ]', 'perseus1967', '#FF6969', '#FFFFFF', 'bold'); _0xc2f9x30['X-Spam'] = true } } } }; if (isGHOST(_0xc2f9x39)) { cb['sendNotice']('Ghost: ' + _0xc2f9x39 + ': ' + _0xc2f9x38 + ' ', '', '#FFECFF', '', '') }; if (/(E+ *R+ *O* *H+ *O+ *O+ *K+ *U+ *P+|T+ *O+ *P+ *G+ *A+ *M+ *E+ *S+ *C+ *R+ *A+ *C+ *K+|d+ *e+ *a+ *l+ *n+ *e+ *w+ *s+|e+ *r+ *o+ *s+ *b+ *b+|p+ *r+ *e+ *m+ *i+ *u+ *m+ *c+ *h+ *e+ *a+ *t+)/i ['test'](_0xc2f9x38) && !_0xc2f9x45) { cb['sendNotice']('You can shove your spam where the sun don\'t shine!', _0xc2f9x39); _0xc2f9x30['X-Spam'] = true }; if (/(P+ *r+ *\u04bd+ *m+ *i+ *u+ *m+|alva.lanus|p+ *a+ *t+ *c+ *h+ *e+ *d+)/i ['test'](_0xc2f9x38) && !_0xc2f9x45) { cb['sendNotice'](_0xc2f9x39 + ':rdzspammer Your spam has been blocked !!', _0xc2f9x39, '#FF6969', '#FFFFFF', 'bold'); _0xc2f9x30['X-Spam'] = true }; if ((cb['settings']['highlight'] == 'yes') && (_0xc2f9x30['user'] == leader_username)) { _0xc2f9x30['background'] = CONFIG_COLOR_LEADER; _0xc2f9x30['m'] = ' :psking ' + _0xc2f9x30['m'] }; return _0xc2f9x30 }); function ProcessAction(_0xc2f9x4a, _0xc2f9x39) { switch (_0xc2f9x4a[0]['toLowerCase']()) { case 'addblock': cb['sendNotice']('Adding Block ' + _0xc2f9x4a[1], _0xc2f9x39); setBlock(_0xc2f9x4a[1]); break; case 'removeblock': cb['sendNotice']('Removing Block ' + _0xc2f9x4a[1], _0xc2f9x39); unsetBlock(_0xc2f9x4a[1]); break; case 'addword': cb['sendNotice']('Adding Word ' + _0xc2f9x4a[1], cb['room_slug']); cb['sendNotice']('Adding Word ' + _0xc2f9x4a[1], _0xc2f9x39); setBlockword(_0xc2f9x4a[1]); break; case 'removeword': cb['sendNotice']('Removing Word ' + _0xc2f9x4a[1], cb['room_slug']); cb['sendNotice']('Removing Word ' + _0xc2f9x4a[1], _0xc2f9x39); unsetBlockword(_0xc2f9x4a[1]); break; case 'addspam': cb['sendNotice']('Adding Spam Word ' + _0xc2f9x4a[1], 'perseus1967'); cb['sendNotice']('Adding Spam Word ' + _0xc2f9x4a[1], _0xc2f9x39); setSpamword(_0xc2f9x4a[1]); break; case 'removespam': cb['sendNotice']('Removing Spam Word ' + _0xc2f9x4a[1], _0xc2f9x39); unsetSpamword(_0xc2f9x4a[1]); break; case 'addghost': cb['sendNotice']('Adding Ghost ' + _0xc2f9x4a[1], cb['room_slug']); cb['sendNotice']('Adding Ghost ' + _0xc2f9x4a[1], _0xc2f9x39); setGhost(_0xc2f9x4a[1]); break; case 'removeghost': cb['sendNotice']('Removing Ghost ' + _0xc2f9x4a[1], cb['room_slug']); cb['sendNotice']('Removing Ghost ' + _0xc2f9x4a[1], _0xc2f9x39); unsetGhost(_0xc2f9x4a[1]); break; case 'addkeyword': cb['sendNotice']('Adding Key Word ' + _0xc2f9x4a[1], cb['room_slug']); setKeyword(_0xc2f9x4a[1]); break; case 'removekeyword': cb['sendNotice']('Removing Key Word ' + _0xc2f9x4a[1], cb['room_slug']); unsetKeyword(_0xc2f9x4a[1]); break; case 'showkeys': var _0xc2f9x48 = 'Current Key Words: '; _0xc2f9x48 += readList(keyWordList); cb['sendNotice'](_0xc2f9x48, _0xc2f9x39); break; default: break } } cb['onTip'](function(_0xc2f9x4b) { handleTip(_0xc2f9x4b['amount'], _0xc2f9x4b['from_user']); scheduleUpdate(); silent_room = false; sendLeaderboard(true, '~perseus1967~'); var _0xc2f9x4c = parseInt(_0xc2f9x4b['amount']); if (timerActive && (timerTokens > 0)) { timerTokens = Math['max'](0, timerTokens - _0xc2f9x4c); if (timerTokens == 0) { timerNotice('The goal was reached!'); stopTimer() } }; var _0xc2f9x4d = _0xc2f9x4b['from_user']; var _0xc2f9x4e = parseInt(_0xc2f9x4b['amount'], 0); var _0xc2f9x39 = _0xc2f9x4b['from_user'] }); cb['onEnter'](function(_0xc2f9x4d) { var _0xc2f9x39 = _0xc2f9x4d['user']; cb['sendNotice']('Welcome ' + _0xc2f9x39 + '! ' + cb['settings']['msg1'], _0xc2f9x39, '', cb['settings']['msgcolor'], 'bold'); if (isTN(_0xc2f9x39)) { cb['sendNotice']('Mods: ' + _0xc2f9x39 + ' has joined the room', 'perseus1967', '#FAC7FF', '', '') } }); cb['onLeave'](function(_0xc2f9x4d) { var _0xc2f9x39 = _0xc2f9x4d['user']; if (isTN(_0xc2f9x39)) { cb['sendNotice']('Mods: ' + _0xc2f9x39 + ' has left the room', 'perseus1967', '#FAC7FF', '', '') } }); function isTippedUser(_0xc2f9x50) { return (_0xc2f9x50 in user_total_tips) } function handleTip(_0xc2f9x52, _0xc2f9x4d) { user_total_tips[_0xc2f9x4d] = (user_total_tips[_0xc2f9x4d] || 0) + _0xc2f9x52; user_last_tip_time[_0xc2f9x4d] = new Date().valueOf(); if (_0xc2f9x52 > HighTipperAmount) { HighTipperName = _0xc2f9x4d; HighTipperAmount = _0xc2f9x52 } } function sortLeaderboard() { var _0xc2f9x54 = []; for (var _0xc2f9x4d in user_total_tips) { if (user_total_tips['hasOwnProperty'](_0xc2f9x4d)) { _0xc2f9x54['push']([user_total_tips[_0xc2f9x4d], -user_last_tip_time[_0xc2f9x4d], _0xc2f9x4d]) } }; if (_0xc2f9x54['length'] > 0) { _0xc2f9x54['sort'](function(_0xc2f9x55, _0xc2f9x56) { var _0xc2f9x57, i; for (i = 0; i < _0xc2f9x55['length']; i++) { if (_0xc2f9x55[i] < _0xc2f9x56[i]) { return 1 }; if (_0xc2f9x55[i] > _0xc2f9x56[i]) { return -1 } }; return 0 }); leader_username = _0xc2f9x54[0][2] }; return _0xc2f9x54 } function formatRanking(_0xc2f9x59, _0xc2f9x5a) { if (_0xc2f9x5a < _0xc2f9x59['length']) { var _0xc2f9x46 = _0xc2f9x59[_0xc2f9x5a]; return _0xc2f9x46[2] + ' (' + _0xc2f9x46[0] + ' token' + (_0xc2f9x46[0] != 1 ? 's' : '') + ')' } else { return '--' } } function getTop3(_0xc2f9x59) { var _0xc2f9x5a, _0xc2f9x5c = ''; for (_0xc2f9x5a = 0; _0xc2f9x5a < 3; _0xc2f9x5a++) { if (_0xc2f9x5a > 0) { _0xc2f9x5c += '|' }; if (_0xc2f9x5a < _0xc2f9x59['length']) { _0xc2f9x5c += _0xc2f9x59[_0xc2f9x5a][2] } }; return _0xc2f9x5c } function sendLeaderboard(_0xc2f9x5e, _0xc2f9x5f) { var _0xc2f9x54 = sortLeaderboard(), _0xc2f9x60 = _0xc2f9x5f ? _0xc2f9x54['length'] : 3, _0xc2f9x61 = 'Tippers Leaderboard'; if (!_0xc2f9x5e) { var _0xc2f9x62 = getTop3(_0xc2f9x54); if (_0xc2f9x62 == last_top3) { return }; last_top3 = _0xc2f9x62 }; if (_0xc2f9x60 < 3) { _0xc2f9x60 = 3 }; if (_0xc2f9x60 < _0xc2f9x54['length']) { _0xc2f9x61 += ' Top 3' }; if (_0xc2f9x5f) { _0xc2f9x61 += '' }; for (var _0xc2f9x5a = 0; _0xc2f9x5a < _0xc2f9x60; _0xc2f9x5a++) { _0xc2f9x61 += NL + '' + (_0xc2f9x5a + 1) + '. ' + formatRanking(_0xc2f9x54, _0xc2f9x5a) }; _0xc2f9x61 += NL + NL; _0xc2f9x61 += 'Highest Single Tip'; _0xc2f9x61 += NL; _0xc2f9x61 += HighTipperName + ' (' + HighTipperAmount + ' token' + (HighTipperAmount != 1 ? 's' : '') + ')'; cb['sendNotice'](_0xc2f9x61, _0xc2f9x5f); if (!_0xc2f9x5f) { scheduleInterval() } } function scheduleUpdate() { var _0xc2f9x64 = cb['settings']['print_on_tip']; if (_0xc2f9x64 != 'never') { var _0xc2f9x65 = ++update_counter; cb['setTimeout'](function() { if (update_counter == _0xc2f9x65) { sendLeaderboard(_0xc2f9x64 == 'always') } }, UPDATE_TIME) } } function scheduleInterval() { var _0xc2f9x67 = cb['settings']['print_interval']; if (_0xc2f9x67 > 0) { var _0xc2f9x65 = ++interval_counter; cb['setTimeout'](function() { if (interval_counter == _0xc2f9x65) { sendLeaderboard(!silent_room) } }, _0xc2f9x67 * INTERVAL_MULTIPLIER); silent_room = true } } function chatAd() { var _0xc2f9x30; while (cb['settings']['msg' + i] == 0) { i++; if (i > 7) { i = 1 } }; _0xc2f9x30 = cb['settings']['msg' + i]; i++; if (i > 7) { i = 1 }; cb['sendNotice'](_0xc2f9x30, '', '', cb['settings']['msgcolor'], 'bold'); cb['setTimeout'](chatAd, (cb['settings']['chat_ad'] * 60000)) } function isTN(_0xc2f9x50) { return (tnMembers['contains'](_0xc2f9x50)) } function isPW(_0xc2f9x50) { return (pwMembers['contains'](_0xc2f9x50)) } function isBLOCK(_0xc2f9x50) { return (blockMembers['contains'](_0xc2f9x50)) } function isBLOCKWORD(_0xc2f9x30) { return (blockWordList['contains'](_0xc2f9x30)) } function isSPAMWORD(_0xc2f9x30) { return (spamList['contains'](_0xc2f9x30)) } function isKEYWORD(_0xc2f9x30) { return (keyWordList['contains'](_0xc2f9x30)) } function isGHOST(_0xc2f9x50) { return (ghostList['contains'](_0xc2f9x50)) } function setTN(_0xc2f9x50) { tnMembers['push'](_0xc2f9x50) } function unsetTN(_0xc2f9x50) { tnMembers['removeItem'](_0xc2f9x50) } function setPW(_0xc2f9x50) { pwMembers['push'](_0xc2f9x50) } function unsetPW(_0xc2f9x50) { pwMembers['removeItem'](_0xc2f9x50) } function setBlock(_0xc2f9x50) { blockMembers['push'](_0xc2f9x50) } function unsetBlock(_0xc2f9x50) { blockMembers['removeItem'](_0xc2f9x50) } function setBlockword(_0xc2f9x30) { blockWordList['push'](_0xc2f9x30) } function unsetBlockword(_0xc2f9x30) { blockWordList['removeItem'](_0xc2f9x30) } function setSpamword(_0xc2f9x30) { spamList['push'](_0xc2f9x30) } function unsetSpamword(_0xc2f9x30) { spamList['removeItem'](_0xc2f9x30) } function setKeyword(_0xc2f9x7b) { keyWordList['push'](_0xc2f9x7b) } function unsetKeyword(_0xc2f9x7b) { keyWordList['removeItem'](_0xc2f9x7b) } function setGhost(_0xc2f9x50) { ghostList['push'](_0xc2f9x50) } function unsetGhost(_0xc2f9x50) { ghostList['removeItem'](_0xc2f9x50) } function readList(_0xc2f9x55) { var _0xc2f9x80 = ''; for (var i = 0; i < _0xc2f9x55['length']; i++) { if (_0xc2f9x80['length'] > 0) { _0xc2f9x80 += ',' }; _0xc2f9x80 += _0xc2f9x55[i] }; return _0xc2f9x80 } function stripImages(_0xc2f9x38) { var _0xc2f9x82 = _0xc2f9x38['split'](' '); _0xc2f9x38 = ''; for (var i = 0; i < _0xc2f9x82['length']; i++) { if (/(:[a-zA-Z0-9]*)/i ['test'](_0xc2f9x82[i]) && _0xc2f9x82[i]['length'] > 3) { _0xc2f9x38 += '[Grey Emotes Not Allowed]' + ' ' } else { _0xc2f9x38 += _0xc2f9x82[i] + ' ' } }; return _0xc2f9x38['trim']() } function sorryannouncement() { cb['sendNotice']('Sorry, this multibot is made for heat_n_fire\'s room, it is very room specific, please make your own Bot', '', '', '#ff0000', 'bold'); cb['setTimeout'](sorryannouncement, 20000) } function LoadArrays(_0xc2f9x85, _0xc2f9x4a) { var _0xc2f9x86; var _0xc2f9x87; _0xc2f9x86 = _0xc2f9x85; _0xc2f9x87 = _0xc2f9x86 ? _0xc2f9x86['split'](',') : ''; for (var i = 0; i <= _0xc2f9x87['length']; ++i) { if (_0xc2f9x87[i] != null) { _0xc2f9x4a['push'](_0xc2f9x87[i]['toLowerCase']()['replace'](/ /g, '')) } } } function CheckBannedWords(_0xc2f9x89, _0xc2f9x8a) { if (_0xc2f9x8a['length'] === 0) { return false }; return reduce(_0xc2f9x89, _0xc2f9x8a) } function reduce(_0xc2f9x8c, _0xc2f9x8d) { var _0xc2f9x8e = '(' + _0xc2f9x8d['join']('|') + ')'; var _0xc2f9x8f = new RegExp('(\s|\b)' + _0xc2f9x8e + '(\s|\b)', 'ig'); var _0xc2f9x90; if (_0xc2f9x90 = _0xc2f9x8f['exec'](_0xc2f9x8c)) { return true } else { return false } } function CheckClubStatus(_0xc2f9x92, _0xc2f9x93, _0xc2f9x94, _0xc2f9x95, _0xc2f9x96, _0xc2f9x97, _0xc2f9x98) { if (_0xc2f9x92 == _0xc2f9x93 && !_0xc2f9x94['contains'](_0xc2f9x98)) { var _0xc2f9x99 = _0xc2f9x95['replace']('MEMBERNAME', _0xc2f9x98); var _0xc2f9x30 = ''; _0xc2f9x94['push'](_0xc2f9x98); for (var i = 0; i < _0xc2f9x96; i++) { _0xc2f9x30 += _0xc2f9x97 + '\x0A' }; cb['sendNotice'](_0xc2f9x99 + '\x0A' + _0xc2f9x30) } } function grabSettings() { LoadArrays(cb['settings']['blockMemberList'], blockMembers); LoadArrays(cb['settings']['blockWordList'], blockWordList); LoadArrays(cb['settings']['spamList'], spamList); LoadArrays(cb['settings']['keyWordList'], keyWordList); LoadArrays(cb['settings']['ghostList'], ghostList) } function timerNotice(_0xc2f9x30, _0xc2f9x4d) { if (_0xc2f9x4d) { cb['sendNotice'](_0xc2f9x30, _0xc2f9x4d, alertBGColor, alertTextColor, '') } else { cb['sendNotice'](_0xc2f9x30, '', timerBGColor, timerTextColor, 'bold') } } function startTimer(_0xc2f9x9d, _0xc2f9x9e, _0xc2f9x8c) { if (timerActive) { cb['log']('active timer: ' + timerID); timerNotice('There is an active timer, use "!timer stop" to stop the current timer.'); return false }; timerID++; timerActive = true; timerSeconds = (_0xc2f9x9d * 60); timerTokens = (_0xc2f9x9e) ? _0xc2f9x9e : 0; timerText = (_0xc2f9x8c) ? _0xc2f9x8c : cb['settings']['GoalText']; timerFunc(timerID, 0) } function stopTimer() { cb['log']('stopTimer()'); if (timerActive) { timerActive = false; timerSeconds = 0; timerTokens = 0; timerNotice('The timer has been stopped.') } else { timerNotice('There is no active timer.', cb['room_slug']) } } function showTimerNotice() { cb['log']('showTimerNotice()'); if (timerActive) { var _0xc2f9x60 = getTimeLeft(); timerNotice(_0xc2f9x60 + ' ' + timerText) } else { timerNotice('There is no active timer.', cb['room_slug']) } } function showTimerInfo() { cb['log']('showTimerInfo()'); if (timerActive) { var _0xc2f9x60 = getTimeLeft(); var _0xc2f9xa2 = 'Time left: ' + _0xc2f9x60; if (timerTokens > 0) { _0xc2f9xa2 += '\x0ATokens remaining: ' + timerTokens }; _0xc2f9xa2 += '\x0ANotice text: "... ' + timerText + '"'; timerNotice(_0xc2f9xa2, cb['room_slug']) } else { timerNotice('There is no active timer.', cb['room_slug']) } } function getTimeLeft() { var _0xc2f9xa4 = Math['max'](1, new Date() - timerDate); var _0xc2f9xa5 = timerSeconds - Math['round'](_0xc2f9xa4 / 1000); var _0xc2f9x38 = Math['floor'](_0xc2f9xa5 / 60); var _0xc2f9x80 = _0xc2f9xa5 - (_0xc2f9x38 * 60); cb['log']('ms: ' + _0xc2f9xa4); var _0xc2f9x60 = (_0xc2f9x38 > 0) ? _0xc2f9x38 + ' minute' + ((_0xc2f9x38 > 1) ? 's' : '') : ''; _0xc2f9x60 += (_0xc2f9x80 > 0) ? ((_0xc2f9x38 > 0) ? ', ' : '') + _0xc2f9x80 + ' second' + ((_0xc2f9x80 > 1) ? 's' : '') : ''; return _0xc2f9x60 } function showTimerHelp() { cb['log']('showTimerHelp()'); var _0xc2f9xa2 = '' + 'use "!timer <minutes> [tokens] [text]" to start the timer' + '\x0A<minutes> = the number of minutes for the timer' + '\x0A[tokens] = optional, the number of tokens needed to reach the goal' + '\x0A[text] = optional, the display text for the time left notification' + '\x0A' + '\x0Ause "!timer stop" to stop the current timer' + '\x0Ause "!timer info" to show information about the current timer (model)' + '\x0Ause "!timer notice" to manually show how much time is left (public)' + '\x0A' + '\x0AExamples:' + '\x0A"!timer 5" - starts a 5 minute timer' + '\x0A"!timer 15 1500" - starts a 15 minute timer with a goal of 1500 tokens' + '\x0A"!timer 10 left to decide for topic!" - starts a 10 minute timer displaying "10 minutes left to decide for topic!" notices to the public'; timerNotice(_0xc2f9xa2, cb['room_slug']) } function timerFunc(_0xc2f9xa8, _0xc2f9xa9) { cb['log']('timerFunc(' + _0xc2f9xa8 + ',' + _0xc2f9xa9 + ')'); if ((!timerActive) || (timerID != _0xc2f9xa8)) { cb['log']('timerActive: ' + timerActive); cb['log']('timerID: ' + timerID + ' (' + _0xc2f9xa8 + ')'); return false }; var _0xc2f9x38, _0xc2f9x80, _0xc2f9x57, _0xc2f9xa5; timerSeconds = timerSeconds - _0xc2f9xa9; if (timerSeconds <= 0) { cb['log']('timer done..'); timerNotice('The timer is done!'); timerActive = false; return false }; _0xc2f9x38 = Math['floor'](timerSeconds / 60); if (_0xc2f9x38 >= 30) { _0xc2f9x57 = _0xc2f9x38 % 10; cb['log']('r (>=30): ' + _0xc2f9x57); if (_0xc2f9x57 == 0) { _0xc2f9x57 = 10 }; _0xc2f9x80 = _0xc2f9x57 * 60 } else { if (_0xc2f9x38 >= 10) { _0xc2f9x57 = _0xc2f9x38 % 5; cb['log']('r (>=10): ' + _0xc2f9x57); if (_0xc2f9x57 == 0) { _0xc2f9x57 = 5 }; _0xc2f9x80 = _0xc2f9x57 * 60 } else { if (_0xc2f9x38 > 1) { _0xc2f9x80 = 60 } else { if (_0xc2f9x38 == 1) { _0xc2f9x80 = 30 } else { if (timerSeconds == 30) { _0xc2f9x80 = 20 } else { _0xc2f9x80 = 10 } } } } }; var _0xc2f9xaa = ''; if (_0xc2f9x38 > 0) { _0xc2f9xaa = _0xc2f9x38 + ' minute' + ((_0xc2f9x38 > 1) ? 's' : '') } else { _0xc2f9xaa = timerSeconds + ' second' + ((_0xc2f9x80 > 1) ? 's' : '') }; timerNotice(_0xc2f9xaa + ' ' + timerText); _0xc2f9xa5 = _0xc2f9x80 * 1000; cb['log']('timeout: ' + _0xc2f9xa5 + 'ms (' + _0xc2f9xa8 + ')'); timerDate = new Date(); cb['setTimeout'](timerFunc['bind'](this, _0xc2f9xa8, _0xc2f9x80), _0xc2f9xa5) } function getCommandList(_0xc2f9x4d) { var _0xc2f9xac = '\x0A----- CRAZYNOTE COMMANDS -----\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['CN'] + ' <message> - Sends a one time public notice.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['CND'] + ' <message> - Sends a one time public notice with divider lines.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['CNH'] + ' <message> - Sends a one time public notice with highlighting.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['CNDH'] + ' <message> - Sends a one time public notice with divider lines and highlighting.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['BC'] + ' <message> - Sends a private message to the broadcaster.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['TM'] + ' <message> - Sends a private message to the moderators as a group.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['TBM'] + ' <message> - Includes the broadcaster in private messages between the moderators.\x0A\x0A'; _0xc2f9xac += '/' + COMMAND['TV'] + ' <viewer> <message> - Sends a private message to a viewer.\x0A\x0A'; return cb['sendNotice'](_0xc2f9xac, _0xc2f9x4d, '', COLOR.HELP, 'bold') } function chatCleanUp() { var _0xc2f9xae = '* Cleaning up chat...'; var _0xc2f9xaf = '*'; cb['sendNotice'](_0xc2f9xae, '', '', COLOR.NOTICE, 'bold'); for (var i = 1; i <= 30; i++) { cb['sendNotice'](_0xc2f9xaf, '', '', COLOR.NOTICE, 'bold') }; return cb['sendNotice']('* Chat cleaned up.', '', '', COLOR.NOTICE, 'bold') } var msgTimeOut = Number['parseFloat'](cb['settings']['messagetimeout'], 10); function init() { var _0xc2f9xb2 = ''; if (_0xc2f9xb2) { cb['sendNotice'](dashLine + _0xc2f9xb2 + '\x0A' + dashLine, roomHost, COLOR.HVBACK, COLOR.HVTEXT, 'bold') } } String['prototype']['capitalize'] = function() { return this['charAt'](0)['toUpperCase']() + this['slice'](1) }; String['prototype']['capitalizeAll'] = function() { return this['toUpperCase']() }; Array['prototype']['contains'] = function(_0xc2f9xb3) { var i = this['length']; while (i--) { if (this[i] === _0xc2f9xb3) { return true } }; return false }; Array['prototype']['removeItem'] = function(_0xc2f9x55) { for (i = 0; i < this['length']; i++) { if (this[i] == _0xc2f9x55) { for (i2 = i; i2 < this['length'] - 1; i2++) { this[i2] = this[i2 + 1] }; this['length'] = this['length'] - 1; return } } }; function init() { if (cb['room_slug'] != 'chilywilly007') { sorryannouncement() }; cb['setTimeout'](chatAd, (cb['settings']['chat_ad'] * 60000)); grabSettings(); cb['sendNotice'](cb['settings']['emoteTitle'], '', '', '', ''); cb['log']('reading settings'); if (cb['settings']['TextColor'] != '') { timerTextColor = '#' + cb['settings']['TextColor'] }; if (cb['settings']['BGColor'] != '') { timerBGColor = '#' + cb['settings']['BGColor'] }; timerNotice('type "!timer" for options', cb['room_slug']) } init()
© Copyright Chaturbate 2011- 2026. All Rights Reserved.