Bots Home
|
Create an App
EvelynChanter
Author:
evelynchanter
Description
Source Code
Launch Bot
Current Users
Created by:
Evelynchanter
// CB app settings cb.settings_choices = [ { name: 'doColoring', type: 'choice', label: 'Change text and background coloring for Knights (choose colours below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'doText', type: 'choice', label: 'Add text labels in front of Knights (choose text below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'ulText', label: 'Text to put in front of Knight members messages (e.g. Knights), the text will be put inside square brackets [ ]', type: 'str', minLength: 1, maxLength: 15, required: false, defaultValue: 'Knight' }, { name: 'ulMinTip', label: 'Minimum tip to become Knight', type: 'int', minValue: 100, defaultValue: 100 }, { name: 'ulAnnounce', label: 'Text to show when someone tips to become a Knight, the text MEMBERNAME will be replaced with the username of the new (Note: graphics don\'t work in this text)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just became a Knight to the Queen! <3' }, { name: 'ulRainText', label: 'Text to use for Knight rain lines', type: 'str', minLength: 1, maxLength: 80, required: false, defaultValue: ':Heart 100 <3 KNIGHT <3 100 :Heart' }, { name: 'ulRainCount', label: 'Number of lines of Knight rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 2 }, { name: 'ulTextColor', label: 'Knight members text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: 'e8b264' }, { name: 'ulBGColor', label: 'Knight members background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'ulMemberList', label: 'List of current Knights, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'reaper__' }, { name: 'cmText', label: 'Text to put in front of Commoners messages (e.g. Commoner), the text will be put inside square brackets [ ]', type: 'str', minLength: 1, maxLength: 30, required: false, defaultValue: 'Commoner' }, { name: 'cmMinTip', label: 'Minimum tip to become Commoner', type: 'int', minValue: 1, defaultValue: 5 }, {name: 'cmTextColor', label: 'Commoner text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 16, required: false, defaultValue: '92ed9b' }, { name: 'cmBGColor', label: 'Commoner background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 16, required: false, defaultValue: '000000' }, { name: 'cmMemberList', label: 'List of Commoners, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: '' }, { name: 'nbText', label: 'Text to put in front of Nobleman messages (e.g. Nobleman), the text will be put inside square brackets [ ]', type: 'str', minLength: 1, maxLength: 30, required: false, defaultValue: 'Nobleman' }, { name: 'nbMinTip', label: 'Minimum tip to become Nobleman', type: 'int', minValue: 45, defaultValue: 50 }, {name: 'nbTextColor', label: 'Nobleman text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 16, required: false, defaultValue: '92ede9' }, { name: 'nbBGColor', label: 'Nobleman background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 16, required: false, defaultValue: '000000' }, { name: 'nbMemberList', label: 'List of Nobleman, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'sexualmomentum' }, { name: 'ldText', label: 'Text to put in front of Lord messages (e.g. Lord), the text will be put inside square brackets [ ]', type: 'str', minLength: 1, maxLength: 30, required: false, defaultValue: 'Lord' }, { name: 'ldMinTip', label: 'Minimum tip to become Lord', type: 'int', minValue: 500, defaultValue: 500 }, {name: 'ldTextColor', label: 'Lord text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: 'c0b6fc' }, { name: 'ldBGColor', label: 'Lord background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'ldMemberList', label: 'List of Lords, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'the_dragon_' }, { name: 'avText', label: 'Text to put in front of Kings messages (e.g. King), the text will be put inside square brackets [ ]', type: 'str', minLength: 1, maxLength: 30, required: false, defaultValue: '. :crown02 King' }, { name: 'avMinTip', label: 'Minimum tip to become King', type: 'int', minValue: 2500, defaultValue: 2500 }, {name: 'avTextColor', label: 'King text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: 'e1ca7a' }, { name: 'avBGColor', label: 'King background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'avMemberList', label: 'List of Kings, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'reaper2016' }, { name: 'wgText', label: 'Text to put in front of Queen[ ]', type: 'str', minLength: 1, maxLength: 30, required: false, defaultValue: '. :crown01 Queen' }, { name: 'wgBGColor', label: 'Queens background color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: '000000' }, { name: 'wgTextColor', label: 'Queens text color - HTML colour code without starting \'#\' e.g. (FFFFFF is white)', type: 'str', minLength: 1, maxLength: 6, required: false, defaultValue: 'f0b2be' }, { name: 'wgMemberList', label: 'List of Queens, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 1, maxLength: 10240, required: false, defaultValue: 'darksweetnessxxx' }, ]; var ulMembers = {}; var cmMembers= {}; var nbMembers= {}; var ldMembers = {}; var avMembers = {}; var wgMembers = {}; var afMembers = {}; // 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']; 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']; } else if ( isUL(u) ) { msg['background'] = '#' + cb.settings.ulBGColor; msg['c'] = '#' + cb.settings.ulTextColor; msg['m'] = "[" + cb.settings.ulText + "] " + msg['m']; } else if ( isCM(u) ) { msg['background'] = '#' + cb.settings.cmBGColor; msg['c'] = '#' + cb.settings.cmTextColor; msg['m'] = "[" + cb.settings.cmText + "] " + msg['m']; } else if ( isNB(u) ) { msg['background'] = '#' + cb.settings.nbBGColor; msg['c'] = '#' + cb.settings.nbTextColor; msg['m'] = "[" + cb.settings.nbText + "] " + msg['m']; } else if ( isAV(u) ) { msg['background'] = '#' + cb.settings.avBGColor; msg['c'] = '#' + cb.settings.avTextColor; msg['m'] = "[" + cb.settings.avText + "] " + msg['m']; } else if ( isWG(u) ) { msg['background'] = '#' + cb.settings.wgBGColor; msg['c'] = '#' + cb.settings.wgTextColor; msg['m'] = "[" + cb.settings.wgText + "] " + msg['m']; } else if ( isAF(u) ) { 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; } return msg; }); cb.onTip(function (tip) { var amountTipped = parseInt(tip['amount']); if (amountTipped == cb.settings.ulMinTip) { // Make truewidowland 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); } }); function isUL(username) { return (username in ulMembers); } function isCM(username) { return (username in cmMembers); } function isNB(username) { return (username in nbMembers); } function isLD(username) { return (username in ldMembers); } function isAV(username) { return (username in avMembers); } function isWG(username) { return (username in wgMembers); } function isAF(username) { return (username in afMembers); } function makeUL(username) { ulMembers[username] = {'u': 1}; } function makeCM(username) { cmMembers[username] = {'u': 1}; } function makeNB(username) { nbMembers[username] = {'u': 1}; } function makeLD(username) { ldMembers[username] = {'u': 1}; } function makeAV(username) { avMembers[username] = {'u': 1}; } function makeWG(username) { wgMembers[username] = {'u': 1}; } function makeAF(username) { afMembers[username] = {'u': 1}; } function grabSettings() { cb.log("starting grabbing settings"); // Get darksweetnessmembers if (cb.settings.ulMemberList) { var ulMemberSettings = cb.settings.ulMemberList.split(','); for (var ii = 0; ii < ulMemberSettings.length; ii++) { var clean = ulMemberSettings[ii].toLowerCase().replace(/ /g,""); ulMembers[clean] = {'u': 1}; } } // Get Darksweetness if (cb.settings.cmMemberList) { var cmMemberSettings = cb.settings.cmMemberList.split(','); for (var ii = 0; ii < cmMemberSettings.length; ii++) { var clean = cmMemberSettings[ii].toLowerCase().replace(/ /g,""); cmMembers[clean] = {'u': 1}; } } // Get Darksweetness if (cb.settings.nbMemberList) { var nbMemberSettings = cb.settings.nbMemberList.split(','); for (var ii = 0; ii < nbMemberSettings.length; ii++) { var clean = nbMemberSettings[ii].toLowerCase().replace(/ /g,""); nbMembers[clean] = {'u': 1}; } } // Get Darksweetness if (cb.settings.ldMemberList) { var ldMemberSettings = cb.settings.ldMemberList.split(','); for (var ii = 0; ii < ldMemberSettings.length; ii++) { var clean = ldMemberSettings[ii].toLowerCase().replace(/ /g,""); ldMembers[clean] = {'u': 1}; } } // Get darksweetness if (cb.settings.avMemberList) { var avMemberSettings = cb.settings.avMemberList.split(','); for (var ii = 0; ii < avMemberSettings.length; ii++) { var clean = avMemberSettings[ii].toLowerCase().replace(/ /g,""); avMembers[clean] = {'u': 1}; } } // Get king tipper of darksweetness if (cb.settings.wgMemberList) { var wgMemberSettings = cb.settings.wgMemberList.split(','); for (var ii = 0; ii < wgMemberSettings.length; ii++) { var clean = wgMemberSettings[ii].toLowerCase().replace(/ /g,""); wgMembers[clean] = {'u': 1}; } } // Get truewidow fans 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"); } grabSettings();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.