Bots Home
|
Create an App
Kitty Club
Author:
nicky7282
Description
Source Code
Launch Bot
Current Users
Created by:
Nicky7282
/******************************************************************** ** Kitty Club for kittyandjj ** by Nicky7282 (druixure@yahoo.com) (twitter: @nicky7282) ** This bot is model specific, your mileage may vary. If YOU would like a custom bot please tweet me! :D ** ** If you modify, adapt, or copy parts of this bot in ANY WAY please credit me: nicky7282 ** *Liam Neeson voice* ** IF YOU DON'T CREDIT ME... ಠ_ಠ ** I WILL FIND YOU... ಡ_ಡ ** AND I WILL KILL YOU... (⌐■_■)︻╦╤─ (╥﹏╥) ** ... ** .. ** So thanks for crediting me! THAT'S FUCKIN' TEAMWORK! ᕕ( ᐛ )ᕗ ** ** ** ** HIGH FIVE! ********************************************************************/ cb.settings_choices = [ { name: 'kittyClubList', label: "KittyClub Members Separated by commas. Erase this and copy/paste from google-doc or email.", type: 'str', required: false, defaultValue: '', }, { name: 'kittyClubPrice', label: "KittyClub price:", type: 'int', defaultValue: 999 }, { name: 'helpAd', label: '(Default: 2) How many minutes between cum counter notices?', type:'int', minValue: 1, maxValue: 999, defaultValue: 2, }, { name: 'kittyClubTitle', label: "What style title should KittyClub members have?", type: 'choice', choice1: '1', choice2: '2', defaultValue: '2', }, ]; // PAID KITTY CLUB MEMBERS $$$$$$$$$$$$$$$$$$$$ var clubList = cb.settings.kittyClubList; var club = []; var id = {}; var idCounter = 0; var cumCounter = 0; // club interface constants var USERNAME = 0; var USERID = 1; var CLUBTYPE = 2; var EMOJI = 3; var TITLE = 4; var kittyClubTitles = ["[KittyClub] ", "\u{1D0B}\u{026A}\u{1D1B}\u{1D1B}\u{028F}\u{1D04}\u{029F}\u{1D1C}\u{0299}: ", "\u{1F13A}\u{1F138}\u{1F143}\u{1F143}\u{1F148}\u{1F132}\u{1F13B}\u{1F144}\u{1F131}: ", "\u{1D55C}\u{1D55A}\u{1D565}\u{1D565}\u{1D56A}\u{1D554}\u{1D55D}\u{1D566}\u{1D553}: ", "\u{1D4F4}\u{1D4F2}\u{1D4FD}\u{1D4FD}\u{1D502}\u{1D4EC}\u{1D4F5}\u{1D4FE}\u{1D4EB}: ", "\u{1D424}\u{1D422}\u{1D42D}\u{1D42D}\u{1D432}\u{1D41C}\u{1D425}\u{1D42E}\u{1D41B}: ", "\u{1D48C}\u{1D48A}\u{1D495}\u{1D495}\u{1D49A}\u{1D484}\u{1D48D}\u{1D496}\u{1D483}: ", "\u{1D40A}\u{1D408}\u{1D413}\u{1D413}\u{1D418}\u{1D402}\u{1D40B}\u{1D414}\u{1D401}: "]; function titlesString(){ var titlesMSG = ''; for (i in kittyClubTitles){ var oboe = (parseFloat(i)+1); titlesMSG += "\n" + oboe + ": " + kittyClubTitles[i]; } return titlesMSG; } var emoji = ["\uD83D\uDE3A" ,"\uD83D\uDE38" ,"\uD83D\uDE39" ,"\uD83D\uDE3B" ,"\uD83D\uDE3C" ,"\uD83D\uDE3D" ,"\uD83D\uDE40" ,"\uD83D\uDE3E" ,"\uD83D\uDC31" ,"\uD83E\uDD81" ,"\uD83D\uDC2F" ,"\u{227D}^\u{072B}^\u{227C}"]; function emojiString(){ var emojiMSG = ''; for (i in emoji){ var oboe = (parseFloat(i)+1); emojiMSG += "["+ oboe + emoji[i]+ "] \t"; } return emojiMSG; } cb.onMessage(function (msg) { initializeUser(msg['user']); if ( (msg['m'].charAt(0) != ('/')) && (msg['m'].charAt(0) != ('!')) ){ makeMsgPretty(msg); } else { chatCommands(msg); } }); function chatCommands(msg){ var user = msg['user']; // /addkittyclub if ((msg['m'].toLowerCase().startsWith('/addkittyclub'))){ msg['X-Spam'] = true; if ((msg['is_mod']) || (user == cb['room_slug'])){ var separatedCommand = msg['m'].toLowerCase().split(" "); if (!separatedCommand[1]){ cb.sendNotice('You need to specify a username. example: "/addkittyclub '+user+'"', user,' ','#FF0000', 'bold'); } else if (typeof id[separatedCommand[1]] == 'undefined') { cb.sendNotice('Username has not been initialized. Please check for typos.', user,' ','#FF0000', 'bold'); } else{ makeKittyClub(separatedCommand[1]); cb.sendNotice('Everyone please welcome ' +separatedCommand[1]+ ' to the Kitty Club!', '', '#F30129', '#ffffff', 'bold'); cb.sendNotice('[HIDDEN] '+separatedCommand[1]+' was added to Kitty Club temporarily by '+user+'. To add them permanently, add "'+separatedCommand[1]+'" to the google-doc or list-email.', cb['room_slug'], '', '#0000FF', 'bold'); } } else { cb.sendNotice("You don't have access to that command.", user,' ','#FF0000', 'bold'); } } // /rmkittyclub if ((msg['m'].toLowerCase().startsWith('/rmkittyclub'))){ msg['X-Spam'] = true; if ((msg['is_mod']) || (user == cb['room_slug'])){ var separatedCommand = msg['m'].toLowerCase().split(" "); if (!separatedCommand[1]){ cb.sendNotice('You need to specify a username. example: "/rmkittyclub '+user+'"', user,' ','#FF0000', 'bold'); } else if (typeof id[separatedCommand[1]] == 'undefined') { cb.sendNotice('Username has not been initialized. Please check for typos.', user,' ','#FF0000', 'bold'); } else{ removeKittyClub(separatedCommand[1]); cb.sendNotice(separatedCommand[1]+ ' has been temporarily removed from the Kitty Club by ' + user, user, '#F30129', '#ffffff', 'bold'); if (user != cb['room_slug']) { cb.sendNotice(separatedCommand[1]+ ' has been temporarily removed from the Kitty Club by ' + user, cb['room_slug'], '', '#0000FF', 'bold'); } } } else { cb.sendNotice("You don't have access to that command.", user,' ','#FF0000', 'bold'); } } // /cumcounter else if ('/cumcounter' == msg['m'].toLowerCase()){ msg['X-Spam'] = true; if ((msg['is_mod']) || (user == cb['room_slug'])){ cb.sendNotice(cumCounterString(), '', '', '#F30129', 'bold'); } else { cb.sendNotice(cumCounterString(), user, '', '#F30129', 'bold'); } } // /addcum else if ((msg['m'].toLowerCase().startsWith('/addcum'))){ msg['X-Spam'] = true; if ((msg['is_mod']) || (user == cb['room_slug'])){ var separatedCommand = msg['m'].toLowerCase().split(" "); if ((!separatedCommand[1]) || isNaN(separatedCommand[1])) { cb.sendNotice('You need to specify a number. example: "/addcum 1" or "/addcum -1"', user, '', '#F30129', 'bold'); } else { cumCounter += parseFloat(separatedCommand[1]); cb.sendNotice(cumCounterString(), '', '', '#F30129', 'bold'); } } else { cb.sendNotice("You don't have access to that command.", user,' ','#FF0000', 'bold'); } } // /emoji else if ((msg['m'].toLowerCase().startsWith('/emoji'))){ msg['X-Spam'] = true; if (club[id[user]][CLUBTYPE] == 'Kitty Club'){ var separatedCommand = msg['m'].toLowerCase().split(" "); if ((!separatedCommand[1]) || isNaN(separatedCommand[1])) { cb.chatNotice('Pick an emoji from below. example: "/emoji 3"\n'+emojiString(), user, '', '#F30129', 'bold'); } else if ((separatedCommand[1] > emoji.length) || (separatedCommand[1] <= 0)){ cb.chatNotice('Pick an emoji from below. example: "/emoji 3"\n'+emojiString(), user, '', '#F30129', 'bold'); } else { var oboe = Math.floor(parseFloat(separatedCommand[1])) - 1; club[id[user]][EMOJI] = emoji[oboe]; cb.chatNotice("Your emoji has been updated to: "+emoji[oboe], user, '', '#F30129', 'bold'); } } else { cb.chatNotice("Kitty Club members get to pick from the following emojis:\n"+emojiString(), user,' ','#FF0000', 'bold'); } } // /clubtitle else if ((msg['m'].toLowerCase().startsWith('/clubtitle'))){ msg['X-Spam'] = true; if (club[id[user]][CLUBTYPE] == 'Kitty Club'){ var separatedCommand = msg['m'].toLowerCase().split(" "); if ((!separatedCommand[1]) || isNaN(separatedCommand[1])) { cb.chatNotice('Pick a title from below. example: "/clubtitle 2"'+titlesString(), user, '', '#F30129', 'bold'); } else if ((separatedCommand[1] > kittyClubTitles.length) || (separatedCommand[1] <= 0)){ cb.chatNotice('Pick a title from below. example: "/clubtitle 2"'+titlesString(), user, '', '#F30129', 'bold'); } else { var oboe = Math.floor(parseFloat(separatedCommand[1])) - 1; club[id[user]][TITLE] = kittyClubTitles[oboe]; cb.chatNotice("Your title has been updated to: "+kittyClubTitles[oboe], user, '', '#F30129', 'bold'); } } else { cb.chatNotice("Kitty Club members get to pick from the following titles:"+titlesString(), user,' ','#FF0000', 'bold'); } } // /cmds else if ((msg['m'].toLowerCase().startsWith('/cmds'))){ msg['X-Spam'] = true; if ((msg['is_mod']) || (user == cb['room_slug'])) { cb.chatNotice("KittyClub commands:\n /emoji \n /cumcounter \n /clubtitle \n /addkittyclub \n /addcum \n /rmkittyclub", user,' ','#FF0000', 'bold'); } else { cb.chatNotice("KittyClub commands:\n /emoji \n /cumcounter \n /clubtitle", user,' ','#FF0000', 'bold'); } } } function makeMsgPretty(msg){ var user = msg['user']; if (club[id[user]][CLUBTYPE] == 'Kitty Club') { msg['background'] = '#FAECEF'; msg['m'] = club[id[user]][EMOJI] + club[id[user]][TITLE] + msg['m']; } return msg; } function randomKittyEmoji(){ var randomEmoji = emoji[Math.floor(Math.random() * emoji.length)]; return randomEmoji; } cb.onEnter(function(user) { initializeUser(user['user']); if (club[id[user['user']]][CLUBTYPE] == 'Kitty Club'){ cb.sendNotice('Kitty Club Member ' + user['user'] + ' has entered the room!', '', '#F30129', '#ffffff', 'bold'); } }); cb.onTip(function (tip) { var user = tip['from_user']; initializeUser(user); var amountTipped = parseInt(tip['amount']); if ((amountTipped == cb.settings.kittyClubPrice) && (isNewKittyClub(user))){ cb.sendNotice('Everyone please welcome ' +user+ ' to the Kitty Club!', '', '#F30129', '#ffffff', 'bold'); cb.sendNotice('[HIDDEN] SCREENSHOT THIS NOTICE and remember to add '+user+' to the google-doc or list-email.', cb['room_slug'], '', '#0000FF', 'bold'); makeKittyClub(user); } }); function initializeUser(user) { if (typeof id[user] == 'undefined') { id[user] = idCounter; club[id[user]] = []; club[id[user]][USERNAME] = user; club[id[user]][USERID] = id[user]; club[id[user]][CLUBTYPE] = ''; club[id[user]][EMOJI] = ''; club[id[user]][TITLE] = ''; idCounter += 1; } } function isNewKittyClub(user){ if (club[id[user]][CLUBTYPE] != 'Kitty Club'){ return true; } else return false; } function makeKittyClub(user){ club[id[user]][CLUBTYPE] = 'Kitty Club'; club[id[user]][EMOJI] = randomKittyEmoji(); club[id[user]][TITLE] = kittyClubTitles[(parseFloat(cb.settings.kittyClubTitle) -1)]; } function removeKittyClub(user){ club[id[user]][CLUBTYPE] = ''; club[id[user]][EMOJI] = ''; club[id[user]][TITLE] = ''; } function cumCounterString(){ if (cumCounter == 1) { return ' :sparklpink Kitty has cum '+cumCounter+' time today :sparklpink '; } else { return ' :sparklpink Kitty has cum '+cumCounter+' times today :sparklpink '; } } function helpAd() { cb.sendNotice('Kitty Club membership is '+cb.settings.kittyClubPrice+' tokens. See bio for more details!\n'+ cumCounterString(), '', '', '#F30129', 'bold'); cb.setTimeout(helpAd, (cb.settings.helpAd * 60000)); } cb.setTimeout(helpAd, (cb.settings.helpAd * 60000)); function botStartup() { cb.log("initializing kitty club members"); initializeUser(cb['room_slug']); if (clubList) { var clubSettings = clubList.split(','); for (i = 0; i < clubSettings.length; i++) { var username = clubSettings[i].toLowerCase().replace(/ /g,""); initializeUser(username); makeKittyClub(username); } } cb.log("finished initializing kitty club members"); cb.sendNotice(' :kitty-banner '); } botStartup();
© Copyright Chaturbate 2011- 2025. All Rights Reserved.