Bots Home
|
Create an App
GIA'S GODS
Author:
g_i_a
Description
Source Code
Launch Bot
Current Users
Created by:
G_I_A
// PonyLegs Club Bot // Originally code by mistynympho http://chaturbate.com/apps/app_details/ponylegs-club/?version=&slot=1 // Chainsawed by fritoxbandito for limitCam support // CB app settings cb.settings_choices = [ {name: 'doColoring', type: 'choice', label: 'Change text and background coloring for members (choose colors below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'doText', type: 'choice', label: 'Add text labels in front of members messages (choose text below)?', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes'}, {name: 'sfText', label: 'Text to put in front of 420 Club members messages (e.g. smoke), the text will be put inside square brackets []', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'Pony 420 Mega'}, {name: 'sfTextColor', label: '420 Club members text color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000'}, {name: 'sfBGColor', label: '420 Mega Awesome Club members background color - HTML colour code without starting \'#\' e.g. (7FFF00 is chartreuse)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '04B431'}, {name: 'sfMinTip', label: 'Minimum tip to become 420 Club member', type: 'int', minValue: 1, defaultValue: 420}, {name: 'sfAnnounce', label: 'Text to show when someone tips to become a 420 club member, the text MEMBERNAME will be replaced with the username of the new (Note: graphics don\'t work in this text)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just joined Ponylegs 420 Mega Awesome Club, HELL YEAH!'}, {name: 'sfMemberList', label: 'List of current 420 members, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'mw221, grimm420, redfyre23 x2, hatdjunk777, steveoskc, surlythegreat, aphael, fangface, clemounet, zephyruseatspussy, mnmassive, benehime, synicalsyn, jimmypop1122, sweeny31, admirer81, ziggyrichmond, seattle20something, mrdnax, phallo, xray1183, hawke99, gambler821, kain990, robman6902, whitemic, canuck01, zombiesgomurh, dismissedambition, joracus, damothor, soccerboss28, satorishunyata, aerogunner, geek_girl, justanotherjoe, alex_sasha, kaldilor, spidermancd19, mudweiser41, olderthanilook, trooper0001, filmman44, ffrre1976, craft02, cravinmorehead49, peetree185, ozone_s, fr3akaz0id, hollowaylives, bahamut420, rainman72090, not_known, thefritob, sexyboyt0y4u, connectpoliticditto '}, {name: 'sfRainText', label: 'Text to use for 420 Club rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: '420 club 420 club 420 club HELL YEAH'}, {name: 'sfRainCount', label: 'Number of lines of 420 Club rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 15}, {name: 'hrText', label: 'Text to put in front of High Rollers messages (e.g. hr)', type: 'str', minLength: 0, maxLength: 10, required: false, defaultValue: 'highroller'}, {name: 'hrTextColor', label: 'High Rollers text color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000'}, {name: 'hrBGColor', label: 'High Rollers background color - HTML colour code without starting \'#\' e.g. (01DFD7 is light blue)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '01DFD7'}, {name: 'hrMinTip', label: 'Minimum tip to become High Roller', type: 'int', minValue: 1, defaultValue: 1000}, {name: 'hrAnnounce', label: 'Text to show when someone tips to become a High Roller, the text MEMBERNAME will be replaced with the username of the new member (Note: graphics don\'t work in this text)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'MEMBERNAME just became a High Roller! FUCK YEAH!'}, {name: 'hrMemberList', label: 'List of current High Rollers, separated by commas (and they need to be the CB username exactly)', type: 'str', minLength: 0, maxLength: 10240, required: false, defaultValue: 'velt'}, {name: 'hrRainText', label: 'Text to use for High Roller rain lines', type: 'str', minLength: 0, maxLength: 80, required: false, defaultValue: 'High Roller High Roller High Roller FUCK YEAH!'}, {name: 'hrRainCount', label: 'Number of lines of High Roller rain', type: 'int', minValue: 1, maxValue: 15, defaultValue: 15}, {name: 'fcText', label: 'Text to put in front of Fan Club members messages (e.g. Fan Club), the text will be put inside square brackets []', type: 'str', minLength: 0, maxLength: 20, required: false, defaultValue: 'Fan Club'}, {name: 'fcTextColor', label: 'Fan Club members text color - HTML colour code without starting \'#\' e.g. (000000 is black)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '000000'}, {name: 'fcBGColor', label: 'Fan Club members background color - HTML colour code without starting \'#\' e.g. (7FFF00 is chartreuse)', type: 'str', minLength: 0, maxLength: 6, required: false, defaultValue: '04B431'}, { 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: 512, defaultValue: '\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\Secret Show in progress\!\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-Tip at least 150 tokens to join in on the fun\!\-\-\-\-\-\-Join Us\!\-\-\-' }, {name: 'show_notifications', label: 'Show notification when show access is made?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'No' }, {name: 'fan_clubs_in', label: 'Are fan club members always in?', type: 'choice', choice1: 'Yes', choice2: 'No', defaultValue: 'Yes' } ]; var sfMembers = {}; var hrMembers = {}; var sfNotice = "Tip 420 to become a member of PonyLegs 420 Mega Awesome Club, Tip 30 for 3 Spanks!\nAll you messages will be highlighted in chat and you will receive exclusive content listed in my bio. Join my 420 Mega Awesome Club!--created by mistynympho--chainsawed by fritoxbandito"; // For auto-silencing at least some of token_wh*re_c*nts usernames var twcRegex = /t.?k.?n.?wh.?r.?_c.?nt.?/i; function showSFNotice(){ cb.chatNotice(sfNotice); cb.setTimeout(showSFNotice,900000); } 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 (isHR(u)) { msg['background'] = '#' + cb.settings.hrBGColor; msg['c'] = '#' + cb.settings.hrTextColor; msg['m'] = "[" + cb.settings.hrText + "] " + 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 (isSF(u)) { msg['background'] = '#' + cb.settings.sfBGColor; msg['c'] = '#' + cb.settings.sfTextColor; msg['m'] = "[" + cb.settings.sfText + "] " + 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 (user['in_fanclub']) { msg['background'] = '#' + cb.settings.fcBGColor; msg['c'] = '#' + cb.settings.fcTextColor; msg['m'] = "[" + cb.settings.fcText + "] " + 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 (!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.hrMinTip && !isHR(tip['from_user'])) { // Make High Roller and announce it var announcement = cb.settings.hrAnnounce.replace("MEMBERNAME", tip['from_user']); makeHR(tip['from_user']); for (var i = 0; i < cb.settings.hrRainCount; i++) { cb.chatNotice(cb.settings.hrRainText); } cb.chatNotice(announcement); } else if (amountTipped >= cb.settings.sfMinTip && !isSF(tip['from_user'])) { // Make 420 Club and announce it var announcement = cb.settings.sfAnnounce.replace("MEMBERNAME", tip['from_user']); makeSF(tip['from_user']); for (var i = 0; i < cb.settings.sfRainCount; i++) { cb.chatNotice(cb.settings.sfRainText); } cb.chatNotice(announcement); } }); function isHR(username) { return (username in hrMembers); } function isSF(username) { return (username in sfMembers); } function makeHR(username) { hrMembers[username] = {'u': 1}; } function makeSF(username) { sfMembers[username] = {'u': 1}; } function grabSettings() { cb.log("starting grabbing settings"); // Get 420 members if (cb.settings.sfMemberList) { var sfMemberSettings = cb.settings.sfMemberList.split(','); for (var ii = 0; ii < sfMemberSettings.length; ii++) { var clean = sfMemberSettings[ii].toLowerCase().replace(/ /g, ""); sfMembers[clean] = {'u': 1}; } } // Get high rollers if (cb.settings.hrMemberList) { var hrMemberSettings = cb.settings.hrMemberList.split(','); for (var ii = 0; ii < hrMemberSettings.length; ii++) { var clean = hrMemberSettings[ii].toLowerCase().replace(/ /g, ""); hrMembers[clean] = {'u': 1}; } } cb.log("finished grabbing settings"); } function output(message) { cb.chatNotice(message); } grabSettings(); showSFNotice();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.