Custom commands

Create commands and scheduled messages

Configure Custom commands.

BlokeBot Custom commands shows the saved command list beside the selected command. That command's name and command words are visible. Its chat preview is visible. BlokeBot Custom commands on a phone with the saved command list and the selected command's Basics step.
The saved command list sits beside the selected command. Its words and the viewer reply stay visible together.

Create a chat reply and command

The Message library keeps reusable text separate from command structure.

  1. Open Custom commands.
  2. Open Settings.
  3. Stay on the Commands tab.
  4. Add a command.
  5. Enter its command words without the exclamation mark.
  6. Select who can use it.
  7. Open Message library.
  8. Add a reply with at least one message.
  9. Return to Commands.
  10. Select the saved reply under What happens.
  11. Select Save changes.
  • For a command without a message, BlokeBot opens the relevant tab or section.
  • It focuses the field.
  • It shows the validation message.
  • It keeps the command.
  • Save reusable bot replies.
  • Connect them to chat words.
  • You can also keep counters.
  • You can also schedule reminders.
  • Replies can include viewer placeholders.
  • Replies can include channel placeholders.
  • Replies can include argument placeholders.

Add random values to saved replies

  • {random_from|one|two} picks one value.
  • {random_between|1|10} picks an inclusive whole number.
  • Nest existing tokens in either random function: {random_between|1|{arg1}} or {random_from|Hello {user}|{random_between|1|10}}.
  • Command arguments are {arg1} through {arg9}; {args} is their joined text. Counter commands also provide {count}.
  • Number bounds must be ordered whole numbers from -2147483648 to 2147483647. Negative and equal bounds work.
  • Missing, non-whole-number, out-of-range or reversed resolved bounds send a short explanation instead of the affected reply. Other command actions keep their normal behavior.
  • Braces and pipes in argument or chatter text stay text, not extra tokens or choices.
  • Each random token occurrence makes a fresh pick.
  • {random_viewer} picks from Twitch chatters currently connected to chat. The active bot account must be a moderator with connected-chatter access.
  • If Twitch cannot return the complete chatter list, {random_viewer} becomes empty text.

Declare and edit saved values

  1. Open Custom commands. Select Variables.
  2. Select New variable or open Dictionaries and select New dictionary.
  3. Enter a name. Select User for each viewer or Global for this channel.
  4. For a variable, select Number or Text. Enter its default. For a dictionary, enter the missing entry value.
  5. Select Save changes.
  6. Select the definition. For User scope, enter a viewer login. Select Select viewer. Check the displayed viewer ID.
  7. Change the value. Select Save changes.
  8. For a dictionary, select Edit beside an entry. To add a key, select Add entry. Enter the key. Select Open entry.
  9. Select the entry type and change its value. Select Save changes.
  • User values belong to a stable Twitch ID in one channel. A changed login does not change the owner. Global values are shared only within the selected channel.
  • A variable uses its default until you save a value. Get does not create a dictionary entry. An absent entry returns the missing entry value.
  • Set keeps an existing entry's type. Set creates an absent entry as Text. Increment creates an absent Number entry from zero.
  • Number values are signed 64-bit whole numbers. Text stays literal. Names and keys have no feature-specific cap. Stored text and record counts have no feature-specific cap. Database storage remains finite. Chat-send limits are separate.
  • Saved values have no automatic expiry. Reset restores one variable value to its default. Delete entry removes one dictionary key. Other viewers and keys do not change.
  • Save definition changes a name or default, not live values. Scope and type are fixed. Delete definition removes its saved data across viewers. Commands that reference a deleted or renamed definition fail until you change their tokens.
  • A stale edit does not overwrite a newer command update. Your edit stays on screen. Reload the current value before you save again.
  • Configuration packages contain definitions, defaults and the command's single-argument setting. They do not contain live values, dictionary entries or invocation results. Fresh imports use defaults and empty dictionaries. Omission does not reset existing destination data.

Use saved values in replies

  1. Open Message library. Select a reply.
  2. Open Insert a saved-value token. Select a definition and operation.
  3. For a dictionary, supply a key or a nested token such as {arg1}.
  4. For Set, supply text or a token. For Increment, supply a whole-number amount or a token.
  5. Select Insert token. Open Sandbox preview. Check the result without a live save.
  6. Save the reply. Select it for a command.
  • {var_get|user|hugs} returns a viewer's saved number. {var_inc|user|hugs|1} adds one and returns the new total.
  • {var_set|user|bio|{args}} saves text and returns it. {var_get|global|hugs_total} returns a channel-wide value.
  • {dict_get|user|profile|{arg1}} reads the key from the first argument. {dict_set|user|profile|{arg1}|{arg2}} saves an entry. {dict_inc|user|scores|{arg1}|{arg2}} adds the second argument to a Number entry.
  • Nested tokens resolve inside before outside. Selected occurrences resolve once, from left to right. Reads after writes see the new value. Unselected variants and random choices do not write.
  • Arguments, saved text and chatter text remain literal. Braces and pipes in those values do not become more tokens.
  • With Whole remaining text is one argument on, !bio uses its one-argument reply for a nonempty phrase. {arg1} and {args} contain the exact literal phrase. !bio without text uses its zero-argument reply. Other commands keep word parsing.
  • Changes require a message ID. User-scoped values require a stable viewer ID. Missing references and keys, incorrect Number input or overflow produce an explanation without private values. A failed transaction does not save partial changes.
  • Access, feature, cooldown and invocation limits apply before new effects. A repeated committed message ID does not repeat effects.
  • If chat delivery fails after commit, values and the computed reply remain. A retry of the same message ID reuses that reply without another increment or random choice. This does not guarantee exactly-once chat delivery or add a retry schedule.
  • Sandbox previews use a copy of saved values. They do not send chat or save changes. They do not claim invocations or advance real variants.

Other chat tools

  • Counters let a command change and report a saved number.
  • Scheduled chat can send a saved reply on a timer.
  • Scheduled chat can send a saved reply after chat activity.
  • Scheduled chat can send a saved reply once a week.
  • Twitch announcement uses Twitch's colored announcement surface. The bot must currently be a moderator and authorized for announcements.
  • If a scheduled send cannot happen, open its Alerts section. Follow the displayed next action.

Start visual automation flows

Choose Run automation flows under What happens. Every enabled flow whose Custom command event selects this command starts from the same chat invocation.

  • Custom commands and Automations must both be on for a command to start a flow.
  • Build the connection in Visual automations. The command does not keep a second flow picker.
  • If either feature is off, BlokeBot keeps the command.
  • If either feature is off, BlokeBot keeps the flow.
  • If either feature is off, BlokeBot keeps the run history.
  • It suppresses new work and does not replay it later.