Bots Home
|
Create an App
Shy's Steak Bot
Author:
princessharley
Description
Source Code
Launch Bot
Current Users
Created by:
Princessharley
// ShyCollegeSluts meat bot // 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: 'raText', label: 'Text to put in front of Sirloin messages', type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'Sirloin'}, {name: 'raIcon', label: 'Icon to put in front of Sirloin messages', type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'bbsirloin'}, {name: 'raBGColor', label: 'Sirloin background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'DFB0F4'}, {name: 'raMinTip', label: 'Minimum tip to become a Sirloin', type: 'int', minValue: 1, defaultValue: 850}, {name: 'raAnnounce', label: 'Text to show when someone tips to become a Sirloin', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just became a Sirloin!!!'}, {name: 'raMemberList', label: 'List of current Sirloins, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, {name: 'raRainText', label: 'Text to use for Sirloin rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: ':shysirloin'}, {name: 'raRainCount', label: 'Number of lines of Sirloin rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 2}, // Group Two {name: 'rbText', label: 'Text to put in front of Ribeye messages (e.g. Ki)', type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'Ribeye'}, {name: 'rbIcon', label: 'Icon to put in front of Ribeye messages', type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'bbribeye'}, {name: 'rbBGColor', label: 'Ribeye background color - HTML colour code without starting \'#\' e.g. (F5B608 is orangey/gold)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'FF86C9'}, {name: 'rbMinTip', label: 'Minimum tip to become a Ribeye', type: 'int', minValue: 1, defaultValue: 1200}, {name: 'rbAnnounce', label: 'Text to show when someone tips to become a Ribeye', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just became a Ribeye'}, {name: 'rbMemberList', label: 'List of current Ribeyes, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: ''}, {name: 'rbRainText', label: 'Text to use for Ribeye rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: ':shyribeye'}, {name: 'rbRainCount', label: 'Number of lines of Ribeye rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 2}, ]; if ((cb.room_slug != "shycollegeslut") && (cb.room_slug != "princessharley")) { sorryannouncement() } var raMembers = {}; var rbMembers = {}; var rcMembers = {}; var rdMembers = {}; var blockMembers = {}; // 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 m = msg['m']; // Mosos Maniacs if (isRD(u)) { msg['background'] = '#' + cb.settings.rdBGColor; msg['m'] = ':' + cb.settings.rdIcon + " [" + cb.settings.rdText + "] " + msg['m']; } else if ( isRC(u) ) { msg['background'] = '#' + cb.settings.rcBGColor; msg['m'] = ':' + cb.settings.rcIcon + " [" + cb.settings.rcText + "] " + msg['m']; } else if ( isRB(u) ) { msg['background'] = '#' + cb.settings.rbBGColor; msg['m'] = ':' + cb.settings.rbIcon + " [" + cb.settings.rbText + "] " + msg['m']; } else if ( isRA(u) ) { msg['background'] = '#' + cb.settings.raBGColor; msg['m'] = ':' + cb.settings.raIcon + " [" + cb.settings.raText + "] " + msg['m']; }else if (isBLOCK(u) && !exempt ) { msg['X-Spam'] = true; }else if ( /(PremiumCheat|premiumcheat|PREMIUMCHEAT)/i.test(m) && !exempt ){ msg['X-Spam'] = true; } if (twcRegex.test(u)){ // Auto-silencing at least some of token_wh*re_c*nts usernames msg['X-Spam'] = true; } return msg; }); // Tipping Settings cb.onTip(function (tip) { var amountTipped = parseInt(tip['amount']); if (amountTipped == cb.settings.raMinTip) { // Group One and announce it var announcement = cb.settings.raAnnounce.replace("MEMBERNAME", tip['from_user']); makeRA(tip['from_user']); for (var i = 0; i < cb.settings.raRainCount; i++) { cb.sendNotice(cb.settings.raRainText); } cb.sendNotice(announcement); } if (amountTipped == cb.settings.rbMinTip) { // Group Two and announce it var announcement = cb.settings.rbAnnounce.replace("MEMBERNAME", tip['from_user']); makeRB(tip['from_user']); for (var i = 0; i < cb.settings.rbRainCount; i++) { cb.sendNotice(cb.settings.rbRainText); } cb.sendNotice(announcement); } }); function sorryannouncement() { cb.chatNotice('Sorry, this multibot is made for shycollegesluts room, it is very room specific, please make your own Bot', '', '', '#ff0000', 'bold'); cb.setTimeout(sorryannouncement, 20000) } // Is Settings function isRA(username) { return (username in raMembers); } function isRB(username) { return (username in rbMembers); } function isRC(username) { return (username in rcMembers); } function isRD(username) { return (username in rdMembers); } function isRE(username) { return (username in reMembers); } function isBLOCK(username) { return (username in blockMembers); } // Make Functions function makeRA(username) { raMembers[username] = {'u': 1}; } function makeRB(username) { rbMembers[username] = {'u': 1}; } function makeRC(username) { rcMembers[username] = {'u': 1}; } function makeRD(username) { rdMembers[username] = {'u': 1}; } // Get Group Settings function grabSettings() { cb.log("starting grabbing settings"); // Get Group One members if (cb.settings.raMemberList) { var raMemberSettings = cb.settings.raMemberList.split(','); for (var ii = 0; ii < raMemberSettings.length; ii++) { var clean = raMemberSettings[ii].toLowerCase().replace(/ /g,""); raMembers[clean] = {'u': 1}; } } // Get Group Two members if (cb.settings.rbMemberList) { var rbMemberSettings = cb.settings.rbMemberList.split(','); for (var ii = 0; ii < rbMemberSettings.length; ii++) { var clean = rbMemberSettings[ii].toLowerCase().replace(/ /g,""); rbMembers[clean] = {'u': 1}; } } // Get Blocked members 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}; } } cb.log("finished grabbing settings"); } grabSettings();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.