Apps Home
|
Create an App
Christmas gift
Author:
emilysweet_rd
Description
Source Code
Launch App
Current Users
Created by:
Emilysweet_Rd
cb.settings_choices = [{ name: 'roomADS', label: 'Room Follow Here', type: 'str', minLength: 1, maxLength: 2000, required: false, defaultValue: 'Please remember to Click Follow' }, { name: 'roomADSMin', label: 'Number of Minutes for Room Follow', type: 'int', minValue: 1, maxValue: 60, defaultValue: 10 }, { name: 'roomTwit', label: 'Place your Twitter Details here', type: 'str', minLength: 1, maxLength: 2000, required: false, defaultValue: '' }, { name: 'roomTwitMin', label: 'Number of Minutes for Room Twitter', type: 'int', minValue: 1, maxValue: 60, defaultValue: 10 }, { name: 'roomRules', label: 'Room Rules', type: 'str', minLength: 1, maxLength: 2000, required: false, defaultValue: 'Please follow the Rules of the room - Thank you' }, { name: 'roomRulesMin', label: 'Number of Minutes for Room Rules Minutes', type: 'int', minValue: 1, maxValue: 60, defaultValue: 10 }, { 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: '' }]; var blockMembers = {}; var blockWords = {}; var emotePattern = /^:/; var capitalised = /^[A-Z][^A-Z]*$/; var twcRegex = /t.?k.?n.?wh.?r.?_c.?nt.?/i; cb.onMessage(function(msg) { var parts = msg['m'].split(" "); var cleaned = []; for (var kk = 0; kk < parts.length; kk++) { var word = parts[kk]; if (emotePattern.test(word) || capitalised.test(word)) { cleaned.push(word); } else { cleaned.push(word.toLowerCase()); } }; msg['m'] = cleaned.join(' '); var u = msg['user']; var m = msg['m']; var isMod = msg['is_mod']; var isFan = msg['in_fanclub']; var isModel = (u == cb.room_slug); var hasTokens = msg['has_tokens']; var hasTipped = msg['tipped_recently']; var isGrey = !(hasTokens || isMod || isModel || isFan); var modsAllowed = true; var exempt = (isModel || isMod); if(m[0] == '/'){ // Is a command msg['X-Spam'] = true; if(isModel || (isMod && modsAllowed) ){ // IsModel or Mod var actionArray = m.substr(1).split(' '); if( isModel ){ if( actionArray.length >= 2){ switch(actionArray[0]) { case "roomrules": msg['X-Spam'] = false; msg['m'] = showRules(); msg['c'] = '#000000'; msg['background'] = '#FFC9FC'; break; case "addblock": cb.sendNotice('Adding Block ' + actionArray[1], cb.room_slug); setBlock(actionArray[1]); break; case "removeblock": cb.sendNotice('Removing Block ' + actionArray[1], cb.room_slug); unsetBlock(actionArray[1]); break; case "addword": cb.sendNotice('Adding Word ' + actionArray[1], cb.room_slug); setBlockword(actionArray[1]); break; case "removeword": cb.sendNotice('Removing Word ' + actionArray[1], cb.room_slug); unsetBlockword(actionArray[1]); break; default: } } else if( actionArray.length == 1){ switch(actionArray[0].toLowerCase()) { case "showwords": cb.sendNotice('Current Blocked Words', u); var n = ''; for (var user in blockWords) { n += '-- ' + user + '\n' }; cb.sendNotice(n, u); break; case "showblock": cb.sendNotice('Current Blocked Users', u); var n = ""; for (var user in blockMembers) { n += "-- "+user+", "; }; cb.sendNotice(n,u); break; case "mbhelp": var n = ""; n += "Command Menu\n"; n += "---------------------------\n"; n += "/roomrules: Display the room adverts\n"; n += "\n"; n += "/addblock <username> Blocks User\n"; n += "/removeblock <username> Removes Block on User\n"; n += "/addword <word> Blocks word\n"; n += "/removeword <word> Removes word from block\n"; cb.sendNotice(n,u); break; default: } } } else { // Is a mod if ( actionArray.length >= 2) { switch ( actionArray[0]) { case "roomrules": msg['X-Spam'] = false; msg['m'] = showRules(); msg['c'] = '#000000'; msg['background'] = '#F8B2D3'; break; case "addblock": cb.sendNotice('Adding Block ' + actionArray[1], u); setBlock(actionArray[1]); break; case "removeblock": cb.sendNotice('Removing Block ' + actionArray[1], u); unsetBlock(actionArray[1]); break; case "addword": cb.sendNotice('Adding Word ' + actionArray[1], u); setBlockword(actionArray[1]); break; case "removeword": cb.sendNotice('Removing Word ' + actionArray[1], u); unsetBlockword(actionArray[1]); break; default: } } else if ( actionArray.length == 1) { switch(actionArray[0].toLowerCase()) { case "showwords": cb.sendNotice('Current Blocked Words', u); var n = ''; for (var user in blockWords) { n += '-- ' + user + '\n' }; cb.sendNotice(n, u); break; case "showblock": cb.sendNotice('Current Blocked Users', u); var n = ''; for (var user in blockMembers) { n += '-- ' + user + '\n' }; cb.sendNotice(n, u); break; case "mbhelp": var n = ""; n += "Command Menu\n"; n += "---------------------------\n"; n += "/roomrules: Display the room adverts\n"; n += "\n"; n += "/addblock <username> Blocks User\n"; n += "/removeblock <username> Removes Block on User\n"; n += "/addword <word> Blocks word\n"; n += "/removeword <word> Removes word from block\n"; cb.sendNotice(n, u); break; default: } } } } // No else, if its a command and not a model or a mod, do nothing }else{ // Isnt a command so treat is text chat if( isGrey ){ m = stripImages(m); msg['m'] = m; } 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+|EvaCamSessions|GIRLS4PARTY|NUDE4STRIP|pussy4show|ChaT4FrEE|BEST4CAMS|CAMNAKEDS|GIRLS2PARTY|STRIP4PLAY|MiaGoCam|FLIRT4SHOW|NUDE2STRIP|LIVE4PARTY|GIRLS4STRIP|JUST2PORN|PUSSY4STRIP|WET4GUYS|FLIRT4SHOW| MiaGoCam |uhack| uhack |tokenschaturbate|F+ *R+ *E+ *E+ *L+ *I+ *V+ *E+ *C+ *A+ *M+ *S+|CAMS4PARTY|CAMS4PRIVATE)/i .test(m) && !exempt) { cb.sendNotice('Private notice: The user [ ' + u + ' ] tried spamming but was blocked!', cb.room_slug, '#F8B2D3', '#000000', 'bold'); msg['X-Spam'] = true; } else { if (/(whore|slag|bitch|ugly)/i .test(m) && !exempt) { cb.sendNotice('Private notice: [ ' + u + ' ] message not shown due to cursing!', cb.room_slug, '#F8B2D3', '#000000', 'bold'); msg['X-Spam'] = true; } else { if (/(PerfectJena35|CherryJenny831|XBabyXJeni67|MelonJenna54|BendyJenny48|VelvetJeni11|SimpleJena345|FlurtyJen5|BBJenny67)/i .test(m) && !exempt) { msg['X-Spam'] = true; } else { if (isBLOCK(u) && !exempt) { cb.sendNotice('Private notice: The user [ ' + u + ' ] needs to be Kicked on Block list!', cb.room_slug, '#F8B2D3', '#000000', 'bold'); msg['X-Spam'] = true; } else { if (isBLOCKWORD(m)) { cb.sendNotice('Private notice: The user [ ' + u + ' ] needs to be Kicked for Keywords![ ' + m + ' ]', cb.room_slug, '#F8B2D3', '#000000', 'bold'); msg['X-Spam'] = true } else { if (/(P+ *r+ *\u04bd+ *m+ *i+ *u+ *m+|alva.lanus|p+ *a+ *t+ *c+ *h+ *e+ *d+)/i .test(m) && !exempt) { cb.sendNotice(u + ' Spam has been blocked !!', cb.room_slug, '#FF6969', '#FFFFFF', ''); msg['X-Spam'] = true; } else { if (/(\uD835\uDC9E+ *2+ *\uD835\uDC9E+|\uD83D\uDE19+ *VisitMy+|\uD83D\uDE19+ *Bio+|\uff23+ *\uff12+ *\uff23+)/i .test(m) && !exempt) { cb.sendNotice(u + ' Spam has been blocked !!', cb.room_slug, '#FF6969', '#FFFFFF', ''); msg['X-Spam'] = true; setBlock(msg.user); } } } actionArray } } } } } return msg; }); cb.onEnter(function(user) { var u = user.user; if (isBLOCK(u)) { cb.sendNotice('ALERT: ' + user['user'] + ' has joined the room [BLOCK USERLIST]', cb.room_slug, '#F8B2D3', '#000000', 'bold'); } }); function isBLOCK(username) { return (username in blockMembers) } function isBLOCKWORD(username) { return (username in blockWords); } function setBlock(username) { blockMembers[username] = {'u': 1}; } function unsetBlock(username) { delete blockMembers[username]; } function setBlockword(username) { blockWords[username] = {'u': 1}; } function unsetBlockword(username) { delete blockWords[username]; } function showRules() { return 'ROOM RULES: ' + cb.settings.roomRules } function follow() { cb.sendNotice(cb.settings.roomADS); cb.setTimeout(follow, (cb.settings.roomADSMin * 60000)) } function twitter() { cb.sendNotice(cb.settings.roomTwit); cb.setTimeout(twitter, (cb.settings.roomTwitMin * 60000)) } function active() { cb.sendNotice('Stop bot is Running', cb.room_slug, '#F8B2D3', '#000000', ''); cb.setTimeout(active, (cb.settings.roomTwitMin * 60000)) } function init() { cb.sendNotice(cb.settings.roomADS); cb.setTimeout(follow, (cb.settings.roomADSMin * 60000)); cb.sendNotice(cb.settings.roomTwit); cb.setTimeout(twitter, (cb.settings.roomTwitMin * 60000)); cb.sendNotice('Stop bot is Running', cb.room_slug, '#F8B2D3', '#000000', ''); cb.setTimeout(active, (cb.settings.roomTwitMin * 60000)) } init(); function stripImages(m){ var words = m.split(' '); m = ""; for (var i = 0; i < words.length; i++){ if ( /(:[a-z]*)/i.test(words[i]) && words[i].length > 3){ m += "[Grey Emotes Not Allowed]"+ " "; }else{ m += words[i]+ " "; } } return m.trim(); } function grabSettings() { cb.log('starting grabbing settings'); if (cb.settings.blockMemberList) { var blockMemberSettings = cb.settings.blockMemberList.split(','); for (var ii = 0; ii < blockMemberSettings.length; ii++) { var clean = blockMemberSettings[ii].toLowerCase().replace(/ /g, ''); blockMembers[clean] = {'u': 1}; } }; if (cb.settings.blockWordList) { var blockWordSettings = cb.settings.blockWordList.split(','); for (var ii = 0; ii < blockWordSettings.length; ii++) { var clean = blockWordSettings[ii].toLowerCase().replace(/ /g, ''); blockWords[clean] = {'m': 1}; } }; cb.log('finished grabbing settings') } grabSettings();
© Copyright Freesexcam 2011- 2024. All Rights Reserved.