Apps Home
|
Create an App
Ginger App
Author:
gingervalve
Description
Source Code
Launch App
Current Users
Created by:
Gingervalve
// Title: Ginger App - App made for Gingervalve // Author: Gingervalve (testvalve) // Version: 1.0 (24-09-2014) // {"totalJoin":480,"totalFemales":19,"totalMales":442,"totalTranssexuals":2,"totalCouples":17,"totalLeave":479,"totalTips":10,"totalTippers":1,"totalLines":239,"totalInfo":481,"totalInfoRequest":1,"totalCommand":8} // CONFIGURATION var broadcaster = "testvalve"; // GLOBAL VARIABLES var personals = []; var sessionJoin = 0; var sessionFemales = 0; var sessionMales = 0; var sessionTranssexuals = 0; var sessionCouples = 0; var sessionLeave = 0; var sessionTips = 0; var sessionTippers = 0; var sessionLines = 0; var sessionInfo = 0; var sessionInfoRequest = 0; var sessionCommand = 0; var totalJoin = 0; var totalFemales = 0; var totalMales = 0; var totalTranssexuals = 0; var totalCouples = 0; var totalLeave = 0; var totalTips = 0; var totalTippers = 0; var totalLines = 0; var totalInfo = 0; var totalInfoRequest = 0; var totalCommand = 0; // JAVASCRIPT EXPORT AND IMPORT function totalsToJSON() { var totals = { totalJoin: totalJoin, totalFemales: totalFemales, totalMales: totalMales, totalTranssexuals: totalTranssexuals, totalCouples: totalCouples, totalLeave: totalLeave, totalTips: totalTips, totalTippers: totalTippers, totalLines: totalLines, totalInfo: totalInfo, totalInfoRequest: totalInfoRequest, totalCommand: totalCommand }; cb.sendNotice(JSON.stringify(totals), broadcaster, "#FFDBFF", "#AA55AA", "bold"); } function JSONToTotals(json) { json = JSON.parse(json); totalJoin += json.totalJoin; totalFemales += json.totalFemales; totalMales += json.totalMales; totalTranssexuals += json.totalTranssexuals; totalCouples += json.totalCouples; totalLeave += json.totalLeave; totalTips += json.totalTips; totalTippers += json.totalTippers; totalLines += json.totalLines; totalInfo += json.totalInfo; totalInfoRequest += json.totalInfoRequest; totalCommand += json.totalCommand; cb.sendNotice("Finished importing the totals " + broadcaster + "! <3", broadcaster, "#FFDBFF", "#AA55AA", "bold"); } function personalsToJSON() { cb.sendNotice(JSON.stringify(personals), broadcaster, "#FFDBFF", "#AA55AA", "bold"); } // MESSAGES function infoMessage(toUser, trigger) { var info0 = "-----------------------------------------------------------------------------------"; var info1 = "\nHello " + toUser + ", welcome to my room :$\n"; var info2 = "I am Ginger Valve and I LOVE to show off! ;). I'm an out and out exhibitionist, so no need to tip!! YEAH! \n"; var info3 = "If you enjoy what you see and want to say something or ask something, JUST DO IT! :D\n"; var info4 = "I really, really enjoy reading the chat and everyone's messages!! :$\n"; var info5 = "Please follow me so you will know when I am here for you again :$$\n"; cb.sendNotice(info0+info1+info2+info3+info4+info5+info0, toUser, "#FFE9DB", "#DC5500", "bold"); sessionInfo += 1; totalInfo += 1; if (trigger == "info") { sessionInfoRequest += 1; totalInfoRequest += 1; } else if (trigger == "join") { // } } function sessionStatsMessage() { var session1 = sessionJoin + " viewers have joined ("+sessionMales+" males, "+sessionFemales+" females, "+sessionCouples+" couples, "+sessionTranssexuals+" transsexuals) and " + sessionLeave + " have left.\n"; var session2 = "A total of " + sessionLines + " lines has been typed! " + sessionInfo + " viewers have seen your info message ("+sessionInfoRequest+" requests, "+sessionJoin+" joins)\n"; cb.sendNotice(session1+session2, broadcaster, "#FFDBFF", "#AA55AA", "bold"); } function totalStatsMessage() { var total1 = sessionJoin + " viewers have joined ("+totalMales+" males, "+totalFemales+" females, "+totalCouples+" couples, "+totalTranssexuals+" transsexuals) and " + totalLeave + " have left.\n"; var total2 = "A total of " + totalLines + " lines has been typed! " + totalInfo + " viewers have seen your info message ("+totalInfoRequest+" requests, "+totalJoin+" joins)\n"; cb.sendNotice(total1+total2, broadcaster, "#FFDBFF", "#AA55AA", "bold"); } function commandDenied(toUser) { cb.sendNotice("Sorry " + toUser + ", you are not allowed to use this command :$", toUser, "#FFDBFF", "#AA55AA", "bold"); } // ON SOMEONE JOINS cb.onEnter(function(user) { cb.changeRoomSubject("Hi, welcome to Gingervalve's room!"); sessionJoin += 1; totalJoin += 1; switch(user['gender']) { case "m": sessionMales += 1; totalMales += 1; break; case "f": sessionFemales += 1; totalFemales += 1; break; case "s": sessionTranssexuals += 1; totalTranssexuals += 1; break; case "c": sessionCouples += 1; totalCouples += 1; break; } var i; for (i = 0; i < personals.length; i++) { personal = personals[i]; var username = personal.user; var personalMessage = personal.message; if (username == user['user']) { cb.sendNotice(personalMessage + " (" + username + ")", "", "#FFDBFF", "#AA55AA", "bold"); } } infoMessage(user['user'], "join"); }); // ON SOMEONE LEAVES cb.onLeave(function(user) { sessionLeave += 1; totalLeave +=1; }); // ON EVERY MESSAGE cb.onMessage(function (msg) { // COMMANDS if (msg['m'].charAt(0) == "!") { sessionCommand += 1; totalCommand += 1; var command = msg['m'].substr(1); var args; if (command.indexOf(' ') !== -1) { var args = command; command = command.substring(0, command.indexOf(' ')) } msg['m'] = msg['m'] + " (This message is not shown in chat)"; msg['X-Spam'] = true; switch(command) { case "info": infoMessage(msg['user'], "info"); break; case "personal": if(args && args.length > 9) { args = args.substr(9); setPersonalWelcome(msg, args); } else { setPersonalWelcomeInfo(msg['user']); } break; case "session": if (msg['user'] == broadcaster) { sessionStatsMessage(); } else {commandDenied(msg['user']);} break; case "total": if (msg['user'] == broadcaster) { totalStatsMessage(); } else {commandDenied(msg['user']);} break; case "personals": if (msg['user'] == broadcaster) { personalsToJSON(); } else {commandDenied(msg['user']);} break; default: commandDenied(msg['user']); } return; } // TO CHAT sessionLines += 1; totalLines += 1; switch(msg['gender']) { case "m": return msg; case "f": msg['background'] = '#FFF0FD'; return msg; case "s": msg['background'] = '#FFFEDE'; return msg; case "c": msg['background'] = '#EBFFEB'; return msg; default: return msg; } }); // MISC FUNCTIONS function setPersonalWelcome(user, args) { if (user['in_fanclub'] || user['user'] == "testvalve") { var i; for (i = 0; i < personals.length; i++) { personal = personals[i]; var username = personal.user; if (username == user['user']) { personals[i].message = args; return; } } var personalWelcome = {user: user['user'], message: args}; personals.push(personalWelcome); } else { cb.sendNotice("Sorry " + user + ", but you are not in my fanclub! <3", user, "#FFDBFF", "#AA55AA", "bold"); } } function setPersonalWelcomeInfo(user) { cb.sendNotice("Join my fanclub " + user + ", then you can set a personal welcome for EVERYTIME you join! <3", user, "#FFDBFF", "#AA55AA", "bold"); }
© Copyright Chaturbate 2011- 2026. All Rights Reserved.