Apps Home
|
Create an App
PNAPbVPVLN
Author:
gmmtest
Description
Source Code
Launch App
Current Users
Created by:
Gmmtest
const colors = ['red', 'green', 'darkpurple', 'lightpurple', 'darkblue', 'lightblue']; const helpStrings = [ "!cbapps notice <msg>", "!cbapps user <username>", "!cbapps group <groupname>", "!cbapps log <message>", "!cbapps drawpanel", "!cbapps drawpaneluser <username>", "!cbapps panel", "Hidden show Commands", "!cbapps add <username> (to hidden cam)", "!cbapps remove <username>", "!cbapps hiddenstart", "!cbapps hiddenstop" ] function help() { for (var i = 0; i < helpStrings.length; i++) { notice(helpStrings[i]); } } function notice(message, user, group) { if (user == undefined) { user = ''; } message = 'cbapps: ' + message if (group != undefined) { // also tests arrayContains if (!cbjs.arrayContains(colors, group)) { cb.log("cbapps invalid color for send notice") } else { cb.sendNotice(message, user, '#FF0000', '#00FF00', 'bolder', group); } } else { cb.sendNotice(message, user, '#FF0000', '#00FF00', 'bolder'); } } // backgroundImage good to fail to check that error messages go through as logs (but still shown even if debug is off) var backgroundImage = '05b83220-1ccc-4871-9333-70f97488de00'; var tipsReceived = 3545; var highestTip = 'tipDaddy_135'; var lastTipReceived = 'big_tipper_25'; var fontSize = 11; function randomPanel() { fontSize = 8 + (Math.random() * 10); tipsReceived = Math.random() * 10000; lastTipReceived = 'big_tipper_' + (Math.random() * 10); highestTip = 'tipDaddy_' + (Math.random() * 10); } cb.onDrawPanel(function(user) { return { "template": "image_template", "layers": [ {'type': 'image', 'fileID': backgroundImage}, { 'type': 'text', 'text': 'TIPS RECEIVED', 'top': 5, 'left': 61, 'font-size': fontSize, 'color': 'orange', }, { 'type': 'text', 'text': 'HIGHEST TIP', 'top': 29, 'left': 73, 'font-size': fontSize, 'color': 'orange', }, { 'type': 'text', 'text': 'LATEST TIP RECEIVED', 'top': 52, 'left': 28, 'font-size': fontSize, 'color': 'orange', }, { 'type': 'text', 'text': tipsReceived, 'top': 5, 'left': 147, 'font-size': fontSize, 'color': 'black', }, { 'type': 'text', 'text': highestTip, 'top': 29, 'left': 147, 'font-size': fontSize, 'color': 'black', }, { 'type': 'text', 'text': lastTipReceived, 'top': 51, 'left': 147, 'font-size': fontSize, 'color': 'black', }, ], }; }); cb.onEnter(function(user) { notice('user enter: ' + user['user']); }); cb.onLeave(function(user) { notice('user leave: ' + user['user']); }); cb.onFollow(function(user) { notice('user follow: ' + user['user']); }) cb.onFanclubJoin(user => { notice('fan club join: ' + user['user']); }); cb.onMediaPurchase((user, media) => { notice(`${user.user} has purchased media ${media.name}`); }); cb.tipOptions(function(user) { return {options:[{label: 'choice1'}, {label: 'choice2'}, {label: 'choice3'}], label:"Select a choice:"}; }); cb.onMessage(function(message) { const m = message.m; if (m.startsWith('!cbapps')) { const fields = m.split(' ') const command = fields[1]; const params = fields[2] switch(command){ // !cbapps notice <msg> case 'notice': notice('room notice - ' + params); break; // !cbapps user <username> case 'user': notice("user only notice", params, undefined); break; // !cbapps group <groupname> case 'group': notice("group notice - " + params, undefined, params); break; // !cbapps log <message> case 'log': cb.log("cbapps log: " + params); break; // !cbapps add <username> (to hidden cam) case 'add': cb.limitCam_addUsers([params]) break // !cbapps remove <username> case 'remove': cb.limitCam_removeUsers([params]) break // !cbapps hiddenstart case 'hiddenstart': cb.limitCam_start("Hidden cam is starting") const users = cb.limitCam_allUsersWithAccess() notice(JSON.stringify(users)) break // !cbapps hiddenstop case 'hiddenstop': cb.limitCam_removeAllUsers() cb.limitCam_stop() break // !cbapps drawpanel case 'drawpanel': cb.drawPanel(); break; case 'drawpaneluser': // !cbapps drawpaneluser <username> // DEPRECATED FEATURE cb.drawPanel(params) break; // !cbapps panel // randomizes some data for the panel to actually notice changes // need to call drawpanel after i believe case 'panel': randomPanel(); break; default: help(); break; } } })
© Copyright Chaturbate 2011- 2026. All Rights Reserved.