Bots Home
|
Create an App
CJ Stars
Author:
roydz
Description
Source Code
Launch Bot
Current Users
Created by:
Roydz
// playfull_mom Group Bot bot // Edited bot by Roydz // 10th Jun 2014 // CB app settings cb.settings_choices = [ { name: 'doColoring', type: 'choice', label: 'Change text and background coloring for members and heroes (choose colours below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'doText', type: 'choice', label: 'Add text labels in front of members and heroes messages (choose text below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, // Group One {name: 'cjsText', label: 'Text to put in front of CJ Stars messages', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'CJs Star'}, {name: 'cjsIcon',label: 'Icon to put in front of CJs Star messages', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'cjstar'}, {name: 'cjsBGColor', label: 'CJ Stars background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'd7dc42'}, {name: 'cjsMinTip', label: 'Minimum tip to become a CJ Stars', type: 'int', minValue: 1, defaultValue: 519}, {name: 'cjsAnnounce', label: 'Text to show when someone tips to become a CJ Stars', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just joined the CJ Stars'}, {name: 'cjsMemberList', label: 'List of current CJ Stars, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, {name: 'cjsRainText', label: 'Text to use for CJ Stars rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'CJ Stars'}, {name: 'cjsRainCount', label: 'Number of lines of CJ Stars rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 15}, // Group Two {name: 'cjssText', label: 'Text to put in front of CJs Super Star messages (e.g. Ki)', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'CJs Super Star'}, {name: 'cjssIcon',label: 'Icon to put in front of CJs Super Stars messages', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'cjsstar'}, {name: 'cjssBGColor', label: 'CJs Super Star background color - HTML colour code without starting \'#\' e.g. (F5B608 is orangey/gold)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '8ce0ad'}, {name: 'cjssMinTip', label: 'Minimum tip to become a CJs Super Star', type: 'int', minValue: 1, defaultValue: 1019}, {name: 'cjssAnnounce', label: 'Text to show when someone tips to become a CJs Super Stars', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just joined the CJs Super Stars'}, {name: 'cjssMemberList', label: 'List of current CJs Super Stars, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, {name: 'cjssRainText', label: 'Text to use for CJs Super Stars rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'CJs Super Stars'}, {name: 'cjssRainCount', label: 'Number of lines of CJs Super Stars', type: 'int', minValue: 1, maxValue: 15, defaultValue: 15}, // Group Three {name: 'cjrsText', label: 'Text to put in front of CJs Rock Star messages (e.g. Lo)', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'CJs Rock Star'}, {name: 'cjrsIcon',label: 'Icon to put in front of CJs Rock Stars messages', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'cjrstar'}, {name: 'cjrsBGColor', label: 'CJs Rock Star background color - HTML colour code without starting \'#\' e.g. (F5B608 is orangey/gold)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'f26464'}, {name: 'cjrsMinTip', label: 'Minimum tip to become a CJs Rock Star', type: 'int', minValue: 1, defaultValue: 2019}, {name: 'cjrsAnnounce', label: 'Text to show when someone tips to become a CJs Rock Star', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just joined the CJs Rock Stars'}, {name: 'cjrsMemberList', label: 'List of current CJs Rock Stars, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, {name: 'cjrsRainText', label: 'Text to use for CJs Rock Stars rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'CJs Rock Stars'}, {name: 'cjrsRainCount', label: 'Number of lines of CJs Rock Stars', type: 'int', minValue: 1, maxValue: 15, defaultValue: 15} // Group Four // {name: 'rdText', label: 'Text to put in front of tysc messages (e.g. Lo)', type: 'str', // minLength: 0, maxLength: 10, required: false, defaultValue: 'tysc'}, // {name: 'rdBGColor', label: 'tysc background color - HTML colour code without starting \'#\' e.g. (F5B608 is orangey/gold)', // type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '50fcfe'}, // {name: 'rdMemberList', label: 'List of current tysc, separated by commas (and they need to be the CB username exactly)', // type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, // Group Five // {name: 'reText', label: 'Text to put in front of drogon messages (e.g. Lo)', // type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'drogon'}, // {name: 'reBGColor', label: 'drogon background color - HTML colour code without starting \'#\' e.g. (F5B608 is orangey/gold)', // type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'BDBBBB'}, // {name: 'reMemberList', label: 'List of current drogon, separated by commas (and they need to be the CB username exactly)', // type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, ]; var cjsMembers = {}; var cjssMembers = {}; var cjrsMembers = {}; //var rdMembers = {}; //var reMembers = {}; // 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']; // Mosos Maniacs if (isCJRS(u)) { msg['background'] = '#' + cb.settings.cjrsBGColor; msg['m'] = ':' + cb.settings.cjrsIcon + " [" + cb.settings.cjrsText + "] " + msg['m']; } else if ( isCJSS(u) ) { msg['background'] = '#' + cb.settings.cjssBGColor; msg['m'] = ':' + cb.settings.cjssIcon + " [" + cb.settings.cjssText + "] " + msg['m']; } else if ( isCJS(u) ) { msg['background'] = '#' + cb.settings.cjsBGColor; msg['m'] = ':' + cb.settings.cjsIcon + " [" + cb.settings.cjsText + "] " + msg['m']; // } else if ( isRD(u) ) { // msg['background'] = '#' + cb.settings.rdBGColor; // msg['m'] = "[" + cb.settings.rdText + "] " + msg['m']; // } else if ( isRE(u) ) { // msg['background'] = '#' + cb.settings.reBGColor; // msg['m'] = "[" + cb.settings.reText + "] " + 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.cjsMinTip) { // Make Manics and announce it var announcement = cb.settings.cjsAnnounce.replace("MEMBERNAME", tip['from_user']); makeCJS(tip['from_user']); for (var i = 0; i < cb.settings.cjsRainCount; i++) { cb.sendNotice(cb.settings.cjsRainText); } cb.sendNotice(announcement); } if (amountTipped == cb.settings.cjssMinTip) { // Make Manics and announce it var announcement = cb.settings.cjssAnnounce.replace("MEMBERNAME", tip['from_user']); makeCJSS(tip['from_user']); for (var i = 0; i < cb.settings.cjssRainCount; i++) { cb.sendNotice(cb.settings.cjssRainText); } cb.sendNotice(announcement); } if (amountTipped == cb.settings.cjrsMinTip) { // Make Manics and announce it var announcement = cb.settings.cjrsAnnounce.replace("MEMBERNAME", tip['from_user']); makeCJRS(tip['from_user']); for (var i = 0; i < cb.settings.cjrsRainCount; i++) { cb.sendNotice(cb.settings.cjrsRainText); } cb.sendNotice(announcement); } }); function isCJS(username) { return (username in cjsMembers); } function isCJSS(username) { return (username in cjssMembers); } function isCJRS(username) { return (username in cjrsMembers); } function isRD(username) { return (username in rdMembers); } function isRE(username) { return (username in reMembers); } // Make Functions function makeCJS(username) { cjsMembers[username] = {'u': 1}; } function makeCJSS(username) { cjssMembers[username] = {'u': 1}; } function makeCJRS(username) { cjrsMembers[username] = {'u': 1}; } function grabSettings() { cb.log("starting grabbing settings"); // Get Maniacs members if (cb.settings.cjsMemberList) { var cjsMemberSettings = cb.settings.cjsMemberList.split(','); for (var ii = 0; ii < cjsMemberSettings.length; ii++) { var clean = cjsMemberSettings[ii].toLowerCase().replace(/ /g,""); cjsMembers[clean] = {'u': 1}; } } // Get Kings if (cb.settings.cjssMemberList) { var cjssMemberSettings = cb.settings.cjssMemberList.split(','); for (var ii = 0; ii < cjssMemberSettings.length; ii++) { var clean = cjssMemberSettings[ii].toLowerCase().replace(/ /g,""); cjssMembers[clean] = {'u': 1}; } } // Get Knights if (cb.settings.cjrsMemberList) { var cjrsMemberSettings = cb.settings.cjrsMemberList.split(','); for (var ii = 0; ii < cjrsMemberSettings.length; ii++) { var clean = cjrsMemberSettings[ii].toLowerCase().replace(/ /g,""); cjrsMembers[clean] = {'u': 1}; } } // Get Lord if (cb.settings.rdMemberList) { var rdMemberSettings = cb.settings.rdMemberList.split(','); for (var ii = 0; ii < rdMemberSettings.length; ii++) { var clean = rdMemberSettings[ii].toLowerCase().replace(/ /g,""); rdMembers[clean] = {'u': 1}; } } // Get Team Sienna if (cb.settings.reMemberList) { var reMemberSettings = cb.settings.reMemberList.split(','); for (var ii = 0; ii < reMemberSettings.length; ii++) { var clean = reMemberSettings[ii].toLowerCase().replace(/ /g,""); reMembers[clean] = {'u': 1}; } } cb.log("finished grabbing settings"); } grabSettings();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.