Bots Home
|
Create an App
Hot For Teachers - Show Ticket
Author:
jasper_woodcock
Description
Source Code
Launch Bot
Current Users
Created by:
Jasper_Woodcock
cb.settings_choices = [ {name: 'ticketprice', type:'int', minValue:1,maxValue:1000,defaultValue:100,label:"Minimum To Watch (min 1 max 1000)"}, {name: 'freegreen', type:'choice', choice1:'yes',choice2:'no',label:'Fan Club Gets Free Pass',defaultValue:'yes'}, {name: 'freeref', type:'choice', choice1:'yes',choice2:'no',label:'Mods Get Free Pass',defaultValue:'yes'}, {name: 'notificationsPerMin', type:'int', minValue:2,maxValue:10,defaultValue:4,label:"Notification Delay In Minutes (range 2-10, recomend 4-5)"}, {name: 'notificationline', type:'str', minLength:1,maxLength:500,label:"Add To Notification",defaultValue:'Show Starts at 6pm, so get your pass now!'}, {name: 'hiddenmsg', type:'str', minLength:1,maxLength:500,label:"Message When Cam Is Hidden",defaultValue:'Hidden Show In Progress! You\'ve gotta tip to see!'} ]; var passportglobals = new Object(); function init() { passportglobals.tipsuserarray = new Array(); passportglobals.tipsamountarray = new Array(); passportglobals.ticketsarray = new Array(); printnotice(); }; init(); function checkforentry(user) { var userindex = passportglobals.tipsuserarray.indexOf(user); if (userindex > -1) { if (passportglobals.tipsamountarray[userindex] >= cb.settings.ticketprice) { //gain entry addtolist(user); } else { cb.chatNotice(user+", you only need "+(cb.settings.ticketprice-passportglobals.tipsamountarray[userindex])+" tokens to get your pass!.",user,'#B973FF','','bolder'); } } } function addtolist(user) { if (passportglobals.ticketsarray.indexOf(user) == -1) { passportglobals.ticketsarray[passportglobals.ticketsarray.length] = user; cb.limitCam_addUsers([user]); cb.chatNotice(user+" has been added to the pass list!",'','#B973FF','','bolder'); } } cb.onTip(function(tipObj) { var amount = tipObj['amount']; var user = tipObj['from_user']; var userindex = passportglobals.tipsuserarray.indexOf(user); if (userindex > -1) { // append user tip passportglobals.tipsamountarray[userindex] += amount; if (passportglobals.ticketsarray.indexOf(user) == -1) { checkforentry(user); } } else { //add user to tips array var newindex = passportglobals.tipsuserarray.length; passportglobals.tipsamountarray[newindex] = amount; passportglobals.tipsuserarray[newindex] = user; if (passportglobals.ticketsarray.indexOf(user) == -1) { checkforentry(user); } } }); cb.onEnter(function(user) { manual_printnotice(user['user']); if (cb.settings.freegreen) { if (user['in_fanclub']) { cb.chatNotice(user['user']+", for being a member of "+cb.room_slug+"\'s fanclub, you get a free pass and have been added to the pass list.",user['user'],'#B973FF','','bolder'); addtolist(user['user']); } } if (cb.settings.freered) { if (user['is_mod']) { cb.chatNotice(user['user']+", for being a Moderator for "+cb.room_slug+", you get a free pass and have been added to the pass list.",user['user'],'#B973FF','','bolder'); addtolist(user['user']); } } }); function printnotice() { if (!cb.limitCam_isRunning()) { manual_printnotice(''); cb.setTimeout(printnotice, cb.settings.notificationsPerMin*60000); } } function manual_printnotice(touser) { var exline; if (cb.settings.notificationline != "") { exline = "\n"+cb.settings.notificationline; } cb.chatNotice(cb.room_slug+"\'s Hidden Cam Show! Get Your Pass Now!\nTip at least "+cb.settings.ticketprice+" tokens during the broadcast to get your pass.\nThere are currently "+passportglobals.ticketsarray.length+" users on the pass list."+exline,touser,'#97FF2F','','bolder'); } cb.onMessage(function (msg) { if (msg['user'] == cb.room_slug) { var message = msg['m'].split(" "); //allow only broadcaster commands switch (message[0]) { case '/hideme' : msg['X-Spam'] = true; if (!cb.limitCam_isRunning()) { cb.sendNotice("Going Private Now!", cb.room_slug,'#B973FF','','bold'); cb.limitCam_start(cb.settings.hiddenmsg); } break; case '/showme' : msg['X-Spam'] = true; if (cb.limitCam_isRunning()) { cb.sendNotice("Going Public Now!", cb.room_slug,'#B973FF','','bold'); cb.limitCam_stop(); } break; case '/givepass' : msg['X-Spam'] = true; if (message.length > 1) { if (cb.limitCam_userHasAccess(message[1])) { cb.sendNotice(message[1]+" Already Has A Pass.", cb.room_slug,'#DA4F49','','bold'); } else { cb.sendNotice("Added "+message[1]+" To Pass List.", cb.room_slug,'#B973FF','','bold'); cb.limitCam_addUsers([message[1]]); passportglobals.ticketsarray[passportglobals.ticketsarray.length] = message[1]; } } break; case '/removeuser' : msg['X-Spam'] = true; if (message.length > 1) { if (cb.limitCam_userHasAccess(message[1])) { cb.sendNotice("Removing "+message[1]+" From Pass List", cb.room_slug,'#B973FF','','bold'); cb.limitCam_removeUsers([message[1]]); passportglobals.ticketsarray = cbjs.arrayRemove(passportglobals.ticketsarray, message[1]) } else { cb.sendNotice(message[1]+" Is Not On The Pass List.", cb.room_slug,'#DA4F49','','bold'); } } break; case '/check' : msg['X-Spam'] = true; if (message.length > 1) { if (cb.limitCam_userHasAccess(message[1])) { cb.sendNotice(message[1]+" Is On Pass List.", cb.room_slug,'#DA4F49','','bold'); } else { cb.sendNotice(message[1]+" Is NOT On Pass List.", cb.room_slug,'#DA4F49','','bold'); } } break; case '/listusers' : msg['X-Spam'] = true; cb.sendNotice("All Users On Pass List:\n"+cb.limitCam_allUsersWithAccess(), cb.room_slug,'#DA4F49','','bold'); break; case '/shownotice': msg['X-Spam'] = true; cb.setTimeout(function() { manual_printnotice(''); }, 1000); break; case '/reset': msg['X-Spam'] = true; cb.setTimeout(function() { init(); }, 1000); break; } } });
© Copyright Chaturbate 2011- 2026. All Rights Reserved.