Bots Home
|
Create an App
Five User Groups
Author:
sorlen
Description
Source Code
Launch Bot
Current Users
Created by:
Sorlen
cb.settings_choices = [ { name: 'doColoring', type: 'choice', label: 'Change text and background coloring for User Groups?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'doText', type: 'choice', label: 'Add text labels in front of User Groups?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' }, { name: 'ulText', label: 'Text to put in front of User Group 1, the text will be put inside square brackets [ ]', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'User Group 1' }, { name: 'ulMinTip', label: 'Minimum tip to become a Tip User', type: 'int', minValue: 1, defaultValue: 555 }, { name: 'ulAnnounce', label: 'Text to show when someone tips to become a Group 1 User, the text MEMBERNAME will be replaced with the actual username (Note: graphics don\'t work in this text)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME became User Group 1!' }, { name: 'ulRainText', label: 'Text that is shown in the chat notice when someone joins User Group 1', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'Someone became a Group 1 User' }, { name: 'ulRainCount', label: 'Number of times the above text is put into chat in a row when a user joins Group 1', type: 'int', minValue: 1, maxValue: 15, defaultValue: 10 }, { name: 'ulTextColor', label: 'Tip User text colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'DC143C' }, { name: 'ulBGColor', label: 'Tip User background colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'C0C0C0' }, { name: 'ulMemberList', label: 'List of current Tip Users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'insert names here' }, { name: 'avText', label: 'Text to put in front of User Group 2 (assigned by broadcaster), the text will be put inside square brackets [ ]', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'User Group 2 Name' }, { name: 'avTextColor', label: 'User Group 2 text colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'DC143C' }, { name: 'avBGColor', label: 'User Group 2 background colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'B57EDC' }, { name: 'avMemberList', label: 'List of current Group 2 users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'User Group 2 User' }, { name: 'wgText', label: 'Text to put in front of User Group 3 (assigned by broadcaster) messages, the text will be put inside square brackets []', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'User Group 3' }, { name: 'wgTextColor', label: 'User Group 3 text colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'FFD700' }, { name: 'wgBGColor', label: 'User Group 3 background colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'F5F5F5' }, { name: 'wgMemberList', label: 'List of current Group 3 users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'sorlen, stansandiego' }, { name: 'afText', label: 'Text to put in front of User Group 4 (assigned by broadcaster), the text will be put inside square brackets [ ]', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'User Group 4' }, { name: 'afTextColor', label: 'User Group 4 text colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'DC143C' }, { name: 'afBGColor', label: 'User Group 4 background colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'B57EDC' }, { name: 'afMemberList', label: 'List of current Group 4 users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'Group 4 User' }, { name: 'fgText', label: 'Text to put in front of User Group 5 (assigned by broadcaster), the text will be put inside square brackets [ ]', type: 'str', minLength: 0, maxLength: 15, required: false, defaultValue: 'Group 5' }, { name: 'fgTextColor', label: 'User Group 5 text colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'DC143C' }, { name: 'fgBGColor', label: 'User Group 5 background colour', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: 'B57EDC' }, { name: 'fgMemberList', label: 'List of current Group 5 users, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'Group 5 User' }, { name: 'fgMinTip', label: 'Minimum tip to cause a Group 5 message', type: 'int', minValue: 1, defaultValue: 5 }, { name: 'fgAnnounce', label: 'Text to show when someone tips the said amount (Note: graphics don\'t work in this text)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME became User Group 5!' }, { name: 'fgRainText', label: 'Text that is shown in the chat notice when someone tips the set amount', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'CASH! CASH! CASH!' }, { name: 'fgRainCount', label: 'Number of times the above text is put into chat in a row when someone tips that amount', type: 'int', minValue: 1, maxValue: 15, defaultValue: 10 } ]; var ulMembers = {}; var avMembers = {}; var wgMembers = {}; var afMembers = {}; var fgMembers = {}; cb.onMessage(function (msg) { // vars for ease of use var u = msg['user']; if ( isUL(u) ) { msg['background'] = '#' + cb.settings.ulBGColor; msg['c'] = '#' + cb.settings.ulTextColor; msg['m'] = "[" + cb.settings.ulText + "] " + 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']; } else if ( isFG(u) ) { msg['background'] = '#' + cb.settings.fgBGColor; msg['c'] = '#' + cb.settings.fgTextColor; msg['m'] = "[" + cb.settings.fgText + "] " + msg['m']; } return msg; }); cb.onTip(function (tip) { var amountTipped = parseInt(tip['amount']); if (amountTipped == cb.settings.ulMinTip) { 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); } if (amountTipped == cb.settings.fgMinTip) { var announcement = cb.settings.fgAnnounce.replace("MEMBERNAME", tip['from_user']); for (var i = 0; i < cb.settings.fgRainCount; i++) { cb.chatNotice(cb.settings.fgRainText); } cb.chatNotice(announcement); } }); function isUL(username) { return (username in ulMembers); } function isAV(username) { return (username in avMembers); } function isWG(username) { return (username in wgMembers); } function isAF(username) { return (username in afMembers); } function isFG(username) { return (username in fgMembers); } function makeUL(username) { ulMembers[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 makeFG(username) { fgMembers[username] = {'u': 1}; } function grabSettings() { cb.log("starting grabbing settings"); 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}; } } 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}; } } 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}; } } 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}; } } if (cb.settings.fgMemberList) { var fgMemberSettings = cb.settings.fgMemberList.split(','); for (var ii = 0; ii < fgMemberSettings.length; ii++) { var clean = fgMemberSettings[ii].toLowerCase().replace(/ /g,""); fgMembers[clean] = {'u': 1}; } } cb.log("finished grabbing settings"); } grabSettings();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.