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

  1. Open Bot Commands → Commands.
  2. Click New Custom Command.
  3. Enter a command name such as roll20.
  4. Add this response:
{user} rolled {random:1:20}.
  1. Choose who can use it, enabled platforms, and cooldowns.
  2. 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.