Bots Home
|
Create an App
Sadie's Tip Tracker
Author:
tablesalt90
Description
Source Code
Launch Bot
Current Users
Created by:
Tablesalt90
/* Sadie's tip tracker */ var totalTokens = 0; var tipsArray = []; cb.settings_choices = [ {name:'notification_time', type:'choice', label:'Notification Time (in minutes)', choice1:1, choice2:2, choice3:3, choice4:4, choice5:5, choice6:10, choice7:15, choice8:20, choice9:25, choice10:30, defaultValue:15} ]; cb.onTip(function (tip) { totalTokens += parseInt(tip['amount']); var tipIndex = findTip(tip['from_user']); if(tipIndex != undefined) { updateTipperTotal(tipIndex, parseInt(tip['amount'])); } else { tips.push([tip['from_user'], parseInt(tip['amount']), [parseInt(tip['amount'])]]); } }); cb.onMessage(function(msg) { if(msg['m'].match(/\/tips/i)) { msg['X-Spam'] = true; var userMsg = msg['m'].trim().split(' '); if(userMsg[1]) { showTipsFromUser(msg['user'], userMsg[1]); } else { showTips(msg['user']); } } return msg; }); function tokenString(tokens) { return (tokens > 1) ? 'tokens' : 'token'; } function findTip(username) { for(var i=0;i<tips.length;i++) { if(tips[i].indexOf(username) >= 0) { return i; } } } function getTipperName(index) { return tips[index][0]; } function getTipperTotal(index) { return tips[index][1]; } function updateTipperTotal(index, amount) { tips[index][1] += amount; tips[index][2].push(amount); tips.sort(function(a,b) { return b[1]-a[1]; }); } function showTips(username) { if(tips.length > 0) { cb.chatNotice('*** All Tippers ***', username); for(var i=0;i<tips.length;i++) { cb.chatNotice(getTipperName(i) + ' tipped ' + getTipperTotal(i) + ' ' + tokenString(getTipperTotal(i)), username); } } else { cb.chatNotice('Boo!! No one has tipped, come on guys!', username); } } function showTipsFromUser(username, tipperUsername) { var tipIndex = findTip(tipperUsername); if(tipIndex != undefined) { cb.chatNotice(tipperUsername + ' just tipped!!', username); for(var i=0; i<tips[tipIndex][2].length;i++) { cb.chatNotice(tips[tipIndex][2][i] + ' ' + tokenString(tips[tipIndex][2][i]), username); } cb.chatNotice('Total: ' + getTipperTotal(tipIndex) + ' ' + tokenString(getTipperTotal(tipIndex)), username); } else { cb.chatNotice('*** ' + tipperUsername + ' has not tipped anything yet. ***', username); } } function advertise() { cb.chatNotice("Type '/tips' to see all tips received.", '', '', '#FF69B4', ''); cb.chatNotice("Type '/tips username' to see all tips from that user.", '', '', '#FF69B4', ''); cb.setTimeout(advertise, cb.settings.notification_time * 60000); } function init() { advertise(); } init();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.