How To Create Random and List-Based Chat Commands
Random and list variables turn a normal Custom Command into a repeatable community game, character picker, rating, or recommendation.
Create a Random Number Command
- Open Bot Commands → Commands.
- Click New Custom Command.
- Enter a command name such as
roll20. - Add this response:
{user} rolled {random:1:20}.
- Choose who can use it, enabled platforms, and cooldowns.
- Save and test the command several times.
{random:1:20} returns a whole number from 1 through 20. Change both numbers to create percentages, dice, ratings, or other ranges.
{user} is {random:1:100}% ready for this challenge.
Each random variable is rolled separately, so one response can contain several independent results.
Create a List-Based Command
First create or import a saved list in Data Manager → Lists. Give it a simple name such as characters and add one possible result per entry.
Lists can also use weighted entries. Give common results a higher weight and rare results a lower weight; SheevChat still returns one entry, but higher-weight entries are more likely to be selected.
Then create a command using:
{user} should play {list:characters}.
The list name after list: must match the saved list. List variables are useful for games, characters, challenges, food choices, quotes, or community-specific answers.
Add Aliases and Categories
Aliases let several triggers use the same response. A command named character might also accept char and pickcharacter.
Use categories to keep related commands together, such as RNG, Game Tools, or Community Games.
Set Sensible Cooldowns
- User cooldown limits how often one viewer can run the command.
- Global cooldown limits how often anyone can run it.
Use a short user cooldown for casual commands and a global cooldown when repeated results would overwhelm chat.
Combine Viewer and Target Variables
{user} is the viewer who ran the command. Commands that accept another username can also use supported {target...} variables, but random/list commands do not require a target.
To select a person instead of a number or saved-list entry, use the random-viewer variables described in How To Select Random Viewers. Those variables use eligible session viewers and respect viewer opt-outs and Bot tags.
Common Problems
- Variable appears as text: Check the braces, colons, range, and saved list name.
- List returns nothing: Confirm the list exists and contains entries.
- Command floods chat: Increase its global cooldown.
- Alias does not work: Enter aliases without
!, then save the command again. - Results never vary: Test several times and confirm the range contains more than one value.