Bots Home
|
Create an App
Snoew
Author:
snoew
Description
Source Code
Launch Bot
Current Users
Created by:
Snoew
// S N O E W - Bot with Hidden Show Option // CB app settings cb.settings_choices = [ { name: 'doColoring', type: 'choice', label: 'Club Y/N?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'doText', type: 'choice', label: 'Label Club', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'aaText', label: 'Text Club', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'Club' }, { name: 'aaIcon', label: 'Icon Club', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'smile' }, { name: 'aaMinTip', label: 'Minimum tip Club', type: 'int', minValue: 1, defaultValue: 333 }, { name: 'aaAnnounce', label: 'Text to show for tipping Club', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just joined Club <3 <3' }, { name: 'aaRainText', label: 'Text to use for Club rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: '<3 <3 333 <3 <3 YAY <3 <3 333 <3 <3' }, { name: 'aaRainCount', label: 'Number of lines of Club rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 10 }, { name: 'aaTextColor', label: 'Club text color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'aaBGColor', label: 'Club background color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'e8e2e2' }, { name: 'aaMemberList', label: 'List of current Club members', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: '' }, { name: 'abText', label: 'Text GENTLEMEN', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'x' }, { name: 'abIcon', label: 'Icon GENTLEMEN', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'nymphgentleman' }, { name: 'abTextColor', label: 'GENTLEMEN text color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'abBGColor', label: 'GENTLEMEN background color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'e8e2e2' }, { name: 'abMemberList', label: 'List of GENTLEMEN:', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'sinner8, walking_on_by, drogda, lapincraquant, cerebio' }, { name: 'acText', label: 'Text deepsnow', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'gentleman' }, { name: 'acIcon', label: 'Icon deepsnow', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'smile' }, { name: 'acTextColor', label: 'deepsnow text color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'acBGColor', label: 'deepsnow background color', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'e8e2e2' }, { name: 'acMemberList', label: 'deepsnow deepsnow deepsnow', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'deepsnow' }, { name: 'min_start_tokens', type: 'int', minValue: 1, maxValue: 1000, defaultValue: 100, label: "Cost to Join Before Show Starts" }, { name: 'min_join_tokens', type: 'int', minValue: 0, maxValue: 1000, defaultValue: 150, label: "Cost to Join During Show. Set to 0 to Disable Joining During Show." }, { name: 'hide_message', label: 'Cam Message', type: 'str', minLength: 1, maxLength: 256, defaultValue: 'Secret Show in progress! Tip at least 150 tokens to join in on the fun!' }, {name: 'show_notifications', label: 'Show notification when show access is made?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, {name: 'fan_clubs_in', label: 'Are fan club members always in?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' } ]; var aaMembers = {}; var abMembers = {}; var acMembers = {}; var adMembers = {}; var aeMembers = {}; var afMembers = {}; var agMembers = {}; var ahMembers = {}; var aiMembers = {}; var ajMembers = {}; var akMembers = {}; var alMembers = {}; var amMembers = {}; var anMembers = {}; // var CONFIG_AD_MINUTES = 8; // var CONFIG_ADS_MINUTES = 5; // For auto-silencing at least some of token_wh*re_c*nts usernames var twcRegex = /t.?k.?n.?wh.?r.?_c.?nt.?/i; cb.onMessage(function (msg) { // vars for ease of use var u = msg['user']; var message = msg['m']; var user = msg['user']; var username = ""; if (cb.room_slug === user && message == '/start' && !cb.limitCam_isRunning()) { output(cb.room_slug + ' has started the show!'); // cb.changeRoomSubject(cb.settings.hide_message); cb.limitCam_start(cb.settings.hide_message); } if (cb.room_slug === user && message == '/stop' && cb.limitCam_isRunning()) { output(cb.room_slug + ' has stopped the show!'); cb.limitCam_stop(); } if (cb.room_slug === user && message.substring(0, 7) == '/remove' && cb.limitCam_allUsersWithAccess().length > 0 ) { username = message.substring(8, message.length); if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) { cb.limitCam_removeUsers([username]); output(cb.room_slug + ' has removed ' + username + ' from the show!'); } } if (cb.room_slug === user && message.substring(0, 4) == '/add') { username = message.substring(5, message.length); if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), username)) {} else { cb.limitCam_addUsers([username]); cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); } } if (cb.room_slug === user && message.substring(0, 6) == '/check') { username = message.substring(7, message.length); if (cb.limitCam_userHasAccess(username)) { output(username + " is in the show!"); } else { output(username + " is not in the show!"); } } if (cb.room_slug === user && message === '/list') { var userlist = cb.limitCam_allUsersWithAccess(); if (userlist.length > 0) { output("" + userlist.length + (userlist.length > 1 ? " users" : " user") + " in show: " + cbjs.arrayJoin(userlist, ", ")); } else { output("No users in show."); } } if ( isUL(u) && isAF(u) ) { msg['background'] = '#' + cb.settings.bothBGColor; msg['c'] = '#' + cb.settings.bothTextColor; msg['m'] = "[" +cb.settings.ulText+" / "+ cb.settings.afText + "] " + msg['m']; if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user)) { } else { cb.limitCam_addUsers([user]); if (cb.settings.show_notifications == 'Yes' ){ cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); }; } } else if ( isUL(u) ) { msg['background'] = '#' + cb.settings.ulBGColor; msg['c'] = '#' + cb.settings.ulTextColor; msg['m'] = "[" + cb.settings.ulText + "] " + msg['m']; if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user)) { } else { cb.limitCam_addUsers([user]); if (cb.settings.show_notifications == 'Yes' ){ cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); }; } } else if ( isAV(u) ) { msg['background'] = '#' + cb.settings.avBGColor; msg['c'] = '#' + cb.settings.avTextColor; msg['m'] = "[" + cb.settings.avText + "] " + msg['m']; if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user)) { } else { cb.limitCam_addUsers([user]); if (cb.settings.show_notifications == 'Yes' ){ cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); }; } } else if ( isWG(u) ) { msg['background'] = '#' + cb.settings.wgBGColor; msg['c'] = '#' + cb.settings.wgTextColor; msg['m'] = "[" + cb.settings.wgText + "] " + msg['m']; if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user)) { } else { cb.limitCam_addUsers([user]); if (cb.settings.show_notifications == 'Yes' ){ cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); }; } } else if ( isAF(u) ) { if (cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), user)) { } else { cb.limitCam_addUsers([user]); if (cb.settings.show_notifications == 'Yes' ){ cb.chatNotice('Added ' + username + ' to secret show', username); cb.chatNotice('Added ' + username + ' to secret show', cb.room_slug); }; } msg['background'] = '#' + cb.settings.afBGColor; msg['c'] = '#' + cb.settings.afTextColor; msg['m'] = "[" + cb.settings.afText + "] " + msg['m']; } if (twcRegex.test(u)){ // Auto-silencing at least some of token_wh*re_c*nts usernames msg['X-Spam'] = true; } if (message[0] == '/') { msg['X-Spam'] = true; } return msg; }); cb.onTip(function (tip) { var amountTipped = parseInt(tip['amount']); if (!cbjs.arrayContains(cb.limitCam_allUsersWithAccess(), tip['from_user'])) { if(!cb.limitCam_isRunning() && parseInt(tip['amount']) >= cb.settings.min_start_tokens) { cb.limitCam_addUsers([tip['from_user']]); if (cb.settings.show_notifications == 'Yes' ){ output('Added '+ tip['from_user'] + ' to secret show!'); } } if(cb.limitCam_isRunning() && parseInt(tip['amount']) >= cb.settings.min_join_tokens && cb.settings.min_join_tokens > 0) { cb.limitCam_addUsers([tip['from_user']]); if (cb.settings.show_notifications == 'Yes' ){ output('Added '+ tip['from_user'] + ' to secret show!'); } } } if (amountTipped == cb.settings.ulMinTip) { // Make WhiteRabbitClub and announce it var announcement = cb.settings.ulAnnounce.replace("MEMBERNAME", tip['from_user']); makeUL(tip['from_user']); for (var i = 0; i < cb.settings.ulRainCount; i++) { cb.chatNotice(cb.settings.ulRainText); } cb.chatNotice(announcement); } }); cb.onMessage(function (msg) { // vars for ease of use var u = msg['user']; if ( isAN(u) ) { msg['background'] = '#' + cb.settings.anBGColor; msg['c'] = '#' + cb.settings.anTextColor; msg['m'] = ':' + cb.settings.anIcon + " " + msg['m']; } else if ( isAM(u) ) { msg['background'] = '#' + cb.settings.amBGColor; msg['c'] = '#' + cb.settings.amTextColor; msg['m'] = ':' + cb.settings.amIcon + " " + msg['m']; } else if ( isAL(u) ) { msg['background'] = '#' + cb.settings.alBGColor; msg['c'] = '#' + cb.settings.alTextColor; msg['m'] = ':' + cb.settings.alIcon + " " + msg['m']; } else if ( isAK(u) ) { msg['background'] = '#' + cb.settings.akBGColor; msg['c'] = '#' + cb.settings.akTextColor; msg['m'] = ':' + cb.settings.akIcon + " " + msg['m']; } else if ( isAJ(u) ) { msg['background'] = '#' + cb.settings.ajBGColor; msg['c'] = '#' + cb.settings.ajTextColor; msg['m'] = ':' + cb.settings.ajIcon + " " + msg['m']; } else if ( isAI(u) ) { msg['background'] = '#' + cb.settings.aiBGColor; msg['c'] = '#' + cb.settings.aiTextColor; msg['m'] = ':' + cb.settings.aiIcon + " " + msg['m']; } else if ( isAH(u) ) { msg['background'] = '#' + cb.settings.ahBGColor; msg['c'] = '#' + cb.settings.ahTextColor; msg['m'] = ':' + cb.settings.ahIcon + " " + msg['m']; } else if ( isAG(u) ) { msg['background'] = '#' + cb.settings.agBGColor; msg['c'] = '#' + cb.settings.agTextColor; msg['m'] = ':' + cb.settings.agIcon + " " + msg['m']; } else if ( isAF(u) ) { msg['background'] = '#' + cb.settings.afBGColor; msg['c'] = '#' + cb.settings.afTextColor; msg['m'] = ':' + cb.settings.afIcon + " " + msg['m']; } else if ( isAE(u) ) { msg['background'] = '#' + cb.settings.aeBGColor; msg['c'] = '#' + cb.settings.aeTextColor; msg['m'] = ':' + cb.settings.aeIcon + " " + msg['m']; } else if ( isAD(u) ) { msg['background'] = '#' + cb.settings.adBGColor; msg['c'] = '#' + cb.settings.adTextColor; msg['m'] = ':' + cb.settings.adIcon + " " + msg['m']; } else if ( isAC(u) ) { msg['background'] = '#' + cb.settings.acBGColor; msg['c'] = '#' + cb.settings.acTextColor; msg['m'] = ':' + cb.settings.acIcon + " " + msg['m']; } else if ( isAB(u) ) { msg['background'] = '#' + cb.settings.abBGColor; msg['c'] = '#' + cb.settings.abTextColor; msg['m'] = ':' + cb.settings.abIcon + " " + msg['m']; } else if ( isAA(u) ) { msg['background'] = '#' + cb.settings.aaBGColor; msg['c'] = '#' + cb.settings.aaTextColor; msg['m'] = ':' + cb.settings.aaIcon + " " + msg['m']; } if (twcRegex.test(u)){ // Auto-silencing at least some of token_wh*re_c*nts usernames msg['X-Spam'] = true; } return msg; }); cb.onTip(function (tip) { var amountTipped = parseInt(tip['amount']); if (amountTipped == cb.settings.aaMinTip) { // Make Unicornland and announce it var announcement = cb.settings.aaAnnounce.replace("MEMBERNAME", tip['from_user']); makeAA(tip['from_user']); for (var i = 0; i < cb.settings.aaRainCount; i++) { cb.sendNotice(cb.settings.aaRainText); } cb.sendNotice(announcement); } }); function isAA(username) { return (username in aaMembers); } function isAB(username) { return (username in abMembers); } function isAC(username) { return (username in acMembers); } function isAD(username) { return (username in adMembers); } function isAE(username) { return (username in aeMembers); } function isAF(username) { return (username in afMembers); } function isAG(username) { return (username in agMembers); } function isAH(username) { return (username in ahMembers); } function isAI(username) { return (username in aiMembers); } function isAJ(username) { return (username in ajMembers); } function isAK(username) { return (username in akMembers); } function isAL(username) { return (username in alMembers); } function isAM(username) { return (username in amMembers); } function isAN(username) { return (username in anMembers); } function makeAA(username) { aaMembers[username] = {'u': 1}; } function makeAB(username) { abMembers[username] = {'u': 1}; } function makeAC(username) { acMembers[username] = {'u': 1}; } function makeAD(username) { adMembers[username] = {'u': 1}; } function makeAE(username) { aeMembers[username] = {'u': 1}; } function makeAF(username) { afMembers[username] = {'u': 1}; } function makeAG(username) { agMembers[username] = {'u': 1}; } function makeAH(username) { ahMembers[username] = {'u': 1}; } function makeAI(username) { aiMembers[username] = {'u': 1}; } function makeAJ(username) { ajMembers[username] = {'u': 1}; } function makeAK(username) { akMembers[username] = {'u': 1}; } function makeAL(username) { alMembers[username] = {'u': 1}; } function makeAM(username) { amMembers[username] = {'u': 1}; } function makeAN(username) { anMembers[username] = {'u': 1}; } function grabSettings() { cb.log("starting grabbing settings"); // Get Unicornland members if (cb.settings.aaMemberList) { var aaMemberSettings = cb.settings.aaMemberList.split(','); for (var ii = 0; ii < aaMemberSettings.length; ii++) { var clean = aaMemberSettings[ii].toLowerCase().replace(/ /g,""); aaMembers[clean] = {'u': 1}; } } // Get Queen Unicorns if (cb.settings.abMemberList) { var abMemberSettings = cb.settings.abMemberList.split(','); for (var ii = 0; ii < abMemberSettings.length; ii++) { var clean = abMemberSettings[ii].toLowerCase().replace(/ /g,""); abMembers[clean] = {'u': 1}; } } // Get Golden Unicorns if (cb.settings.acMemberList) { var acMemberSettings = cb.settings.acMemberList.split(','); for (var ii = 0; ii < acMemberSettings.length; ii++) { var clean = acMemberSettings[ii].toLowerCase().replace(/ /g,""); acMembers[clean] = {'u': 1}; } } // Get VIP Members if (cb.settings.aeMemberList) { var aeMemberSettings = cb.settings.aeMemberList.split(','); for (var ii = 0; ii < aeMemberSettings.length; ii++) { var clean = aeMemberSettings[ii].toLowerCase().replace(/ /g,""); aeMembers[clean] = {'u': 1}; } } // Get Custom 1 if (cb.settings.afMemberList) { var afMemberSettings = cb.settings.afMemberList.split(','); for (var ii = 0; ii < afMemberSettings.length; ii++) { var clean = afMemberSettings[ii].toLowerCase().replace(/ /g,""); afMembers[clean] = {'u': 1}; } } cb.log("finished grabbing settings"); } function output(message) { cb.chatNotice(message); } grabSettings();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.