Bots Home
|
Create an App
Just a tip menu
Author:
andreas_97
Description
Source Code
Launch Bot
Current Users
Created by:
Andreas_97
// Tip menu made by Andreas_97 cb.settings_choices = [ { name: "tip_menu_items", type: "str", label: "Tip menu items. (\"item, price;item, price\")" }, { name: "tip_menu_separator", type: "str", defaultValue: "|", label: "Tip menu Separator" }, { name: "tip_menu_color", type: "str", required: true, label: "Tip menu color (HTML color code)" }, { name: "tip_menu_delay", type: "int", label: "Time in minutes between tip menu notices" }, { name: "tip_menu_on_enter", type: "choice", choice1: "yes", choice2: "no", defaultValue: "no", label: "Show tip menu on room enter" } ]; // Vars const minute = 60000; let color = cb.settings.tip_menu_color; let tip_menu_items = stringToArray(cb.settings.tip_menu_items, ";") let tip_menu_item = tip_menu_item_init(); let tip_menu_price = tip_menu_price_init(); let tip_menu = tip_menu_init(); // Functions // item init to put all items in its own array function tip_menu_item_init() { let items = stringToArray(tip_menu_items, ", "); let item = []; let l = items.length; for (let i = 0; i < l; i++) { if (i % 2 == 0) { item.push(items[i]); } } return item; } // price init to put all prices in its own array function tip_menu_price_init() { let prices = stringToArray(tip_menu_items, ", "); let price = []; let l = prices.length; for (let i = 0; i < l; i++) { if (i % 2 == 1) { price.push(prices[i]); } } return price; } // menu init to create the tip menu function tip_menu_init() { let separator = cb.settings.tip_menu_separator; let menu = "Tip menu \n "; let l = tip_menu_item.length; for (let i = 0; i < l; i++) { menu += "" + tip_menu_item[i] + " (" + tip_menu_price[i] + ") " + separator + " "; } return menu; } function tip_menu_process(tip) { let tip_amount = "" + tip["amount"]; let index = ""; if (cbjs.arrayContains(tip_menu_price, tip_amount)) { index = tip_menu_price.indexOf(tip_amount); cb.sendNotice(tip["from_user"] + " tipped for" + tip_menu_item[index], "", "", color, "bold"); } } function tip_menu_on_enter(user) { if (cb.settings.tip_menu_on_enter == "yes") { cb.sendNotice(tip_menu, user["user"], "", color, "bold"); } } function tip_menu_notice() { cb.sendNotice(tip_menu, "", "", color, "bold"); cb.setTimeout(tip_menu_notice, minute * cb.settings.tip_menu_delay); } tip_menu_notice(); // string to array function because str.split() doesnt work on cb function stringToArray(str, separator) { let string = str + ""; let array = []; let tempStr = ""; let l = string.length; for (let i = 0; i < l; i++) { if (string.charAt(i) === separator) { array.push(tempStr); tempStr = ""; continue; } tempStr += string.charAt(i); } array.push(tempStr); return array; }
© Copyright Chaturbate 2011- 2026. All Rights Reserved.