Bots Home
|
Create an App
Tip Reminder
Author:
xenoblast
Description
Source Code
Launch Bot
Current Users
Created by:
Xenoblast
// Tip Reminder Bot 1.1 by xenoblast cb.settings_choices = [ { name: 'capture_interval', type: 'int', minValue: 0, maxValue: 9999, defaultValue: 300, label: 'Keep tips in the reminder for __ seconds' }, { name: 'notice_repeat', type: 'int', minValue: 0, maxValue: 9999, defaultValue: 60, label: 'Show reminder every __ seconds (0 to disable)' }, { name:'notice_after_tip', type:'choice', choice1:'yes', choice2:'no', defaultValue: 'yes', label: 'Show reminder after tips' }, { name: 'item1', type: 'str', minLength: 1, maxLength: 30, label: 'Menu item 1 ("10--flash" for TIP--NAME, or "10--5--spanks" for TIP--HOW MANY--NAME)' }, { name: 'item2', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 2' }, { name: 'item3', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 3' }, { name: 'item4', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 4' }, { name: 'item5', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 5' }, { name: 'item6', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 6' }, { name: 'item7', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 7' }, { name: 'item8', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 8' }, { name: 'item9', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 9' }, { name: 'item10', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 10' }, { name: 'item11', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 11' }, { name: 'item12', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 12' }, { name: 'item13', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 13' }, { name: 'item14', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 14' }, { name: 'item15', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 15' }, { name: 'item16', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 16' }, { name: 'item17', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 17' }, { name: 'item18', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 18' }, { name: 'item19', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 19' }, { name: 'item20', type: 'str', minLength: 1, maxLength: 30, required: false, label: 'Menu item 20' }, ]; var menu = {}; var queue = []; function purpleNotice(msg) { cb.chatNotice(msg, null, "#FFFFFF", "#9462ea", "bold", null); } function handleQueue() { var now = (new Date()).getTime(); var threshold = now - (cb.settings.capture_interval * 1000); while (queue.length > 0 && queue[0].time < threshold) queue.shift(); if (queue.length == 0) return; var msg = ""; for (var i = 0; i < queue.length; i++) { var rec = queue[i]; if (msg.length > 0) msg += ", "; if (rec.count == 1) msg += rec.item; else msg += (rec.item + " (" + rec.count + ")"); } purpleNotice(msg); } cb.onTip(function (tip) { var amount = parseInt(tip['amount']); var item = menu[amount]; if (item) { var lastRec; if (queue.length > 0) lastRec = queue[queue.length-1]; var now = (new Date()).getTime(); if (lastRec && lastRec.item == item.name) { lastRec.count += item.count; lastRec.time = now; } else { var rec = { time: now, item: item.name, count: item.count }; queue.push(rec); } if (cb.settings.notice_after_tip == "yes") handleQueue(); } }); function showReminder() { handleQueue(); if (cb.settings.notice_repeat) cb.setTimeout(showReminder, (cb.settings.notice_repeat * 1000)); } function addItem(str) { if (str && str.indexOf("--") >= 0) { var p = str.indexOf("--"); var price = str.slice(0, p); var item = str.slice(p+2); var count = 1; var p2 = item.indexOf("--"); if (p2 >= 0) { count = parseInt(item.slice(0, p2)); item = item.slice(p2+2); } menu[price] = { name: item, count: count }; } } function init() { addItem(cb.settings.item1); addItem(cb.settings.item2); addItem(cb.settings.item3); addItem(cb.settings.item4); addItem(cb.settings.item5); addItem(cb.settings.item6); addItem(cb.settings.item7); addItem(cb.settings.item8); addItem(cb.settings.item9); addItem(cb.settings.item10); addItem(cb.settings.item11); addItem(cb.settings.item12); addItem(cb.settings.item13); addItem(cb.settings.item14); addItem(cb.settings.item15); addItem(cb.settings.item16); addItem(cb.settings.item17); addItem(cb.settings.item18); addItem(cb.settings.item19); addItem(cb.settings.item20); showReminder(); } init();
© Copyright Chaturbate 2011- 2026. All Rights Reserved.