flexible tip menu
Author: william81fr
Description Source Code Launch Bot Current Users

Short Description:

Tip menu with sorting, normalization of the menu items, single/multi line choice, color choice, up to 50 items; can automod non-english text; can decorate chat with genders and timestamps; can greet or thank newcomers, followers and new fanclub members

Full Description

Flexible tip menu usage & configuration details


Introduction


English
This is a tip menu bot for Chaturbate.
Fill in your prices and their description, and the bot will repeat them in the chat as notices for your viewers to see.
const lang = 'en';
Espaol
Esto es un bot de tip menu para Chaturbate.
Rellenas tus precios y su descripcion, y el bot los repetir en el chat con noticias a los usuarios.
El admin panel "Launch Bot" mismo se puede cambiar al espaol: para hacer esto, cambia a "es" el variable lang al principio del codigo fuente.
const lang = 'es';
Franais
Ceci est un bot de tip menu pour Chaturbate.
Remplissez vos prix et leur description, et le bot se chargera de les rappeler dans le chat.
Le panneau de configuration "Launch Bot" peut lui-mme tre affich en franais : pour cela, modifier "fr" la variable lang au dbut du code source.
const lang = 'fr';

One great feature of this bot is the ability to fill in the tip menu items as you think them up, and not worry about the order in which you write them or the specifics of what you write. Just put the amount first in the box, and the display format will
be handled globally by the app. It's configurable too. Any empty menu item box will be ignored. Menu items that don't start with a number are ignored as well.


There are two levels of configuration: the settings in the "Launch Bot" admin panel to make the menu look how you want it to, and inside the source code to adjust the admin panel itself. All the options are described below.


Why not configure everything in the "Launch Bot" page? One example is to translate the admin panel itself; another is the number of items: if 99 menu items are too many for you, feel free to reduce that value in the code of the app: the admin panel will
be shorter as a result.


Please feel free to discuss improvements and issues on GitHub (or to read a proper changelog).



Adding visuals to your notices


All text boxes in the admin panel can display graphics (if you choose to do so). There are two kinds of graphics:


Emoji & the like
they are never animated
they can be copy/pasted directly
they can be emoji or plain text that just happens to look like an image
here are some examples: |
the way to look them up is either by "emoji" or "unicode" searches (for example here)

Emoticons
some are animated, some aren't
they can't be copy/pasted without using their code
they are entered as text, with a colon followed by the name of the GIF
to work properly, the whole emote code needs a space on each side
as an example, :heart2 displays , while :heart7 translates to and :crownsilver shows as
one way to look them up is by hovering the mouse cursor over such an image in the chat, and after a few seconds you will see its code in a tooltip
another way is to start typing a colon in the chat followed by a letter and the chat will suggest emote codes for you: click one and you will get a preview of the image
any user on CB can upload an image of their choice and thus create a new :code for the chat and for apps to use

Variables in the source code (for the technical folks)


lang
the language of the admin panel
it can be one of "en", "es" or "fr"

nb_of_menu_items
the number of menu items that can be configured from the admin panel

Global settings in the admin panel


App name
if set, this will be displayed in the chat at the top of the tip menu

Errors shown to
either the broadcaster or the moderators will be able to see the errors in the configuration of the app (in the chat), or nobody

Automod features


Automod feature: non-english text
aims to hide spammy messages from chat by detecting non-english text, which spammers use to avoid Chaturbate's own spam prevention system
you know what these messages are, don't you
enable this feature ONLY if you expect strict english in your chatroom: if you are eastern european and you chat in your language, this may not work well for you
choose here who is exempt from this Flexible Tip Menu feature (or "n/a" to disable this feature)
NB 1: setting to "broadcaster only" will allow you to test-run this feature without modifying public chat messages
NB 2: on a technical note, this feature works by detecting Unicode code points, rather than natural language detection

Automod feature: links
aims to hide messages that contain links in chat, which is a feature already offered natively by Chaturbate and is also covered by the non-english automod above
you do not need to enable this Flexible Tip Menu feature, unless you are seeing links posted publicly in your chat room
choose here who is exempt from this Flexible Tip Menu feature (or "n/a" to disable this feature)
NB: setting to "broadcaster only" will allow you to test-run this feature without modifying public chat messages

Who gets a notice of each infraction (all automods)
when any of the "automods" above are enabled, they keep track of infractions
this box allows you to send a notice in chat whenever such an infraction was made, for individual infractions, and choose here who gets to see these notices

Record automod infractions in chat (all automods)
when any of the "automods" above are enabled, they keep track of infractions
this box allows you to send a notice in chat whenever such an infraction was made, with a tally of the number of infractions for that user, and choose here who gets to see these notices

Decorate messages in chat


INDICATOR OF USER'S SEX IN CHAT
this feature adds an emoji to every userame in chat and in notices, to represent their gender as declared in their profile
these emoji were gleaned from https://en.wikipedia.org/wiki/Miscellaneous_Symbols and https://en.wikipedia.org/wiki/Planet_symbols#Mars
choose here who to apply the feature to, or to disable it completely
NB: setting this to "broadcaster only" means you will get every message twice, since you will also receive the normal messages from chat; this is meant for you to test-run the feature, and you'll want to choose either everyone or disabled

INDICATOR OF TIME IN CHAT
this feature adds a timestamp to all messages and notices, to represent the passing of time
choose here the precision of the timestamp (minutes, seconds etc) or to disable the feature completely
NB 1: setting this to "broadcaster only" means you will get every message twice, since you will also receive the normal messages from chat; this is meant for you to test-run the feature, and you'll want to choose either everyone or disabled
NB 2: the hours are all set to GMT/UTC, so that nobody can figure out anybody else's location with this feature

Autogreet features


AUTOMATICALLY GREET NEWCOMERS
this feature is meant to greet people as they enter the room
if set to "n/a", the module is disabled
otherwise, a notice is sent to the people and groups as configured in this box

Background color
written in CSS/HTML format [1]
default color is: #ffffff
Text color
written in CSS/HTML format [1]
default color is: #a4c2f4
Text thickness
NB: "bold" and "bolder" are often the same

Template for the notice in chat
template to format the notice
available variables are: {USER} for the nickname of the person joining the room
example: Hi {USER}, welcome to my room!

AUTOMATICALLY GREET NEW FANS
this feature is meant to greet/thank people as they join the fan club
if set to "n/a", the module is disabled
otherwise, a notice is sent to the people and groups as configured in this box

Background color
written in CSS/HTML format [1]
default color is: #ffffff
Text color
written in CSS/HTML format [1]
default color is: #b6d7a8
Text thickness
NB: "bold" and "bolder" are often the same

Template for the notice in chat
template to format the notice
available variables are: {USER} for the nickname of the person joining the fanclub
example: {USER} has joined my fan club!

Autothank features


AUTOMATICALLY THANK FOLLOWERS
this feature is meant to greet/thank people when they click the Follow button
if set to "n/a", the module is disabled
otherwise, a notice is sent to the people and groups as configured in this box

Background color
written in CSS/HTML format [1]
default color is: #ffffff
Text color
written in CSS/HTML format [1]
default color is: #ea9999
Text thickness
NB: "bold" and "bolder" are often the same

Template for the notice in chat
template to format the notice
available variables are: {USER} for the nickname of the person following you
example: Thanks for following me {USER}!

AUTOMATICALLY THANK TIPPERS
if set to "n/a", the module is disabled
otherwise, a notice is sent to the people and groups as configured in this box

Only tips above this limit will get a thank you
allows to avoid thanking every single low tip
NB: this is off-by-one on purpose, so that to thank people for their tips from 25 tokens and up, you have to set this to 24

Background color for the public thanks
color of the background for the public notice
written in CSS/HTML format [1]
default color is: #ffffff
Text color for the public thanks
color of the text for the public notice
written in CSS/HTML format [1]
default color is: #000000
Text thickness for the public thanks
thickness of the text for the public notice
NB: "bold" and "bolder" are often the same

Template for the public thanks
template to format the public notice
available variables are: {AMOUNT} for the tip amount, {USER} for the tipper's nickname, {SERVICE} for the label of the item corresponding to the tip amount
example 1: {USER} tipped {AMOUNT} for {SERVICE}
example 2: Thank you {USER} for your {AMOUNT}tk tip

Background color for the private thanks
color of the text for the private notice
written in CSS/HTML format [1]
default color is: #ffffff
Text color for the private thanks
color of the text for the private notice
written in CSS/HTML format [1]
default color is: #000000
Text thickness for the private thanks
thickness of the text for the private notice
NB: "bold" and "bolder" are often the same

Template for the private thanks
template to format the private notice
available variables are: {AMOUNT} for the tip amount, {USER} for the tipper's nickname, {SERVICE} for the label of the item corresponding to the tip amount
example 1: {USER} tipped {AMOUNT} for {SERVICE}
example 2: Thank you {USER} for your {AMOUNT}tk tip

Whether to repeat the tip note back to the user
if you want tippers to get a notice to repeat their tip note back to them

Template for the tip note reminder
template to format the personal reminder of the tip message (to its author, not in public chat)
same format options as the private thanks
available variables are: {MESSAGE}
example: Your tip note was: {MESSAGE}

Statistics report


STATS COMMAND
whether to enable the command at all, and control who can see the results
this feature can show you a usage report
you can call up these statistics at any time with the "/stats" command (without quotes)

Include new follower stats?
whether new followers should be included in the report

Include room influx (chat members)?
whether people joining the chat should be included in the report

Include fanclub subscriptions?
whether new fanclub members should be included in the report

Custom requests via tip notes


REMEMBER TIPNOTES FOR CUSTOM REQUESTS
whether to enable the feature at all, show it to everyone or to a subset of users
this feature lets the bot record several tip notes before and after a custom request is made
this way, users can first ask with cheap tip notes if you agree to their request, and send their big tip only if you do, and the bot helps you keep track
several of their tip notes are recorded before and after the big tip (configuration below), in addition to the tip note for the request itself
you can call up these records at any time with the "/reqs" or "/requests" command (without quotes)

Tip amounts to trigger this feature (one or several, separate by commas)
specify here the exact tip amounts that you expect for custom requests
example 1: 112
^ this will trigger only on 112 tk tips
example 2: 112,223,556
^ this will trigger for 112 tk tips as well as 223 tk tips and 556 tk tips

Record X tipnotes *before* the custom request
specify here how many tip notes to record prior to the custom request
for example, when a user asks in a 1 tk tip note if you agree and only then do they tip for the custom request, but they don't repeat their request
this setting lets you go back in time several tip notes to help you remember what they asked for
change this value to 0 (zero) to disable

Record X tipnotes *after* the custom request
specify here how many tip notes to record after the custom request
for example, when a user tips for a custom request, but they forget to include all the details and they need to send additional 1 tk tips to tell you
this setting helps you remember what they asked for
change this value to 0 (zero) to disable

Tip Menu settings in the admin panel


Tip menu shown to
whether to enable the tip menu at all, show it to everyone or to a subset of users

Tip menu header
if set, will be displayed after the app name and before the first item

Tip menu footer
if set, will be displayed at the end of the tip menu

Inline separator
if left empty, the tip menu will be multiline
otherwise, the tip menu will be displayed all in one line: in that case, the separator an be a comma or a dash or whatever text should appear between two tip menu items

Inline spacing
if the inline separator is set, this option can be used to apply spacing to either side of the separator
for example, a comma might need only "right" spacing, while a dash might be better with spacing on both sides

Menu background color
color of the background for the whole tip menu
written in CSS/HTML format [1]

Menu text color
color of the text for the whole tip menu
written in CSS/HTML format [1]

Menu boldness
thickness of the text
NB: "bold" and "bolder" are often the same

Menu repeat minutes
number of minutes before the menu is displayed again in the chat

Menu item prefix
text that is prepended to all menu items
allows the use of :emoticons
Menu item suffix
text that is appended to all menu items
allows the use of :emoticons
Menu item display format
all menu items are reformatted according to this pattern
allows the use of :emoticons
remember to include both {AMOUNT} and {LABEL}
available variables are: {AMOUNT}, {LABEL}
example 1: {AMOUNT} tokens - {LABEL}
example 2: {LABEL} ({AMOUNT}tk)
example 3: tip {AMOUNT} tokens for: {LABEL}
simply write "{AMOUNT}" and "{LABEL}" anywhere in the box, and they will be replaced with the current menu item

Sort order
in which order to sort the items (can be disabled too)

Menu item XYZ
must start with a number followed by a text label
anything else will be ignored by the app (handy to disable an item temporarily)
allows the use of :emoticons

[1] Feel free to use a tool like this one to pick your colors (focus on the "HEXA"
label that changes as you click on different colors). Flexible Tip Menu accepts both lowercase and uppercase color codes, and the # symbol is not required at the start.

© Copyright Chaturbate 2011- 2026. All Rights Reserved.