Bot Command Parameters
Create dynamic and interactive answers using parameters inside your custom command response.
You can insert special placeholders (parameters) in your custom commands. When a command is triggered in chat, SasaBot will automatically replace these placeholders with real-time values.
| Parameter | Description | Usage & Output Example |
|---|---|---|
$(user) or $user |
Display name of the chatter who triggered the command. | Command response: Hello $user! Output: Hello lostidze! |
$(touser) |
First argument of the command (e.g. !love lostidze -> lostidze). If no argument is provided, falls back to the sender. |
Command response: Greeting $(touser). Output: Greeting lostidze. |
$(channel) or $channel |
The broadcaster's login name of the channel. | Command response: Welcome to $channel stream! Output: Welcome to skuffix508 stream! |
$(args) or $args |
All arguments provided after the command, joined by space. | Command response: You wrote: $args Output: You wrote: hello how are you |
$(command) or $command |
The name of the triggered command. | Command response: Triggered: $command Output: Triggered: info |
$(count) or $count |
A dynamic counter of how many times this command was executed. | Command response: Command used $count times! Output: Command used 42 times! |
$(time) or $time |
Current time in Moscow timezone (HH:MM:SS format). | Command response: Moscow time is $time Output: Moscow time is 18:42:05 |
$(date) or $date |
Current date in Moscow timezone (DD.MM.YYYY format). | Command response: Current date is $date Output: Current date is 18.05.2026 |
$(uptime) or $uptime |
How long the bot has been running continuously. | Command response: Uptime: $uptime Output: Uptime: 3h 12m 45s |
$(random) or $random |
Generates a random number from 1 to 100. | Command response: Rate: $random/100 Output: Rate: 87/100 |
$(percentage) or $percentage |
Generates a random percentage (from 0% to 100%). | Command response: Match probability is $percentage! Output: Match probability is 73%! |
$(randomuser) or $randomuser |
Picks a random chatter from the recently active users list in chat. | Command response: Lucky person: $randomuser Output: Lucky person: @chatter_alex |
$(url) or $url |
The public website address of this SasaBot dashboard. | Command response: Control dashboard: $url Output: Control dashboard: https://sasabot.ru |
$(usercolor) or $usercolor |
The hex color code of the sender's nickname. | Command response: Color: $usercolor Output: Color: #00FF7F |
$(query) or $query |
URL-encoded version of all input arguments. | Command response: Search: https://google.com/search?q=$query Output: Search: https://google.com/search?q=cool%20bot |
$(mention) or $mention |
Appends a "@" sign to the sender's display name. | Command response: Hi $mention! Output: Hi @lostidze! |
$(choice:option1|option2|...) |
Picks one random option from the provided list (supports | or , separators). |
Command response: Answer: $(choice: Yes | No | Maybe) Output: Answer: Yes |
$(roll:min-max) or $(roll:max) or $(roll) |
Rolls a random number in a custom range (defaults to 1-100). | Command response: Dice: $(roll:1-6) Output: Dice: 4 |
$(math:expression) |
Evaluates standard mathematical operations (safely supports +, -, *, /, %, parenthesis). | Command response: Result: $(math: (2 + 2) * 5) Output: Result: 20 |
$(arg:N) or $(arg:N-M) or $(arg:N+) |
Advanced argument extraction. $(arg:2+) extracts all words starting from word 2. |
Command: !say hello to the worldResponse: Message: $(arg:2+) Output: Message: to the world |
$(upper:text) |
Converts the provided text to UPPERCASE. | Command response: $(upper: shout) Output: SHOUT |
$(lower:text) |
Converts the provided text to lowercase. | Command response: $(lower: SILENCE) Output: silence |
$(length:text) |
Returns the exact length (number of characters) of the text. | Command response: Length: $(length: lost) Output: Length: 4 |
$1, $2, $3... |
Inserts a specific positional argument of the command (e.g., $1 is the first word after the command). |
Command: !trade CS2 DotaCommand response: Selling $1 for $2. Output: Selling CS2 for Dota. |
$(hour), $(minute), $(second) |
Hours, minutes, and seconds in Europe/Moscow timezone. | Response: $hour:$minute:$second Output: 15:42:05 |
$(year), $(month), $(day), $(dayofweek) |
Moscow date parts and full weekday name. | Response: $dayofweek, $year Output: Monday, 2026 |
$(timestamp) |
Current Unix epoch timestamp in milliseconds. | Response: Time: $timestamp Output: Time: 1779068437252 |
$(user_id), $(user_type) |
Twitch User ID and sender role (broadcaster, moderator, vip, subscriber, viewer). | Response: $user ($user_type) ID: $user_id Output: skuffix (broadcaster) ID: 123456 |
$(is_mod), $(is_sub), $(is_vip) |
Booleans indicating if the user has specific Twitch badges. | Response: VIP? $is_vip Output: VIP? true |
$(args_count) |
Number of arguments passed to the command. | Response: Words: $args_count Output: Words: 3 |
$(weather) or $(weather:city) |
Fetches weather information from wttr.in for saved or specified location. | Response: Weather: $(weather:Tomsk) Output: Weather: Tomsk: ⛅️ +12°C |
$(md5:text), $(sha256:text) |
Generates MD5 or SHA256 hashes of the provided text. | Response: $(md5:hello) Output: 5d41402abc4b2a76b9719d911017c592 |
$(base64_encode:text), $(base64_decode:encoded) |
Encodes text to or decodes from Base64. | Response: $(base64_encode:bot) Output: Ym90 |
$(hex_encode:text), $(hex_decode:encoded) |
Encodes text to or decodes from Hexadecimal. | Response: $(hex_encode:hi) Output: 6869 |
$(reverse:text) |
Reverses the characters in the text. | Response: $(reverse:sasabot) Output: tobasas |
$(trim:text), $(word_count:text) |
Trims whitespace or counts the words in the text. | Response: $(word_count:hello world) Output: 2 |
$(capitalize:text) |
Capitalizes the first character of the text. | Response: $(capitalize:bot) Output: Bot |
$(repeat:text|count) |
Repeats the text N times. | Response: $(repeat:ha|3) Output: hahaha |
$(replace:text|search|replace) |
Replaces occurrences of search text with replace. | Response: $(replace:hello apple|apple|pear) Output: hello pear |
$(substr:text|start|length) |
Extracts a substring from text. | Response: $(substr:sasabot|4|3) Output: bot |
$(even_odd:number) |
Returns 'even' or 'odd' for the number. | Response: $(even_odd:4) Output: even |
$(abs:number), $(sqrt:number), $(round:number) |
Mathematical absolute value, square root, or rounding. | Response: $(round:4.6) Output: 5 |
$(min:a,b,c), $(max:a,b,c) |
Finds the minimum or maximum in a comma-separated list of numbers. | Response: $(max:5,12,3) Output: 12 |
$(sender) or $sender |
Alias for $(user) — display name of the chatter who triggered the command. |
Response: Hi $sender! Output: Hi lostidze! |
text $(spam:N) |
When placed at the end of a response, repeats the entire preceding message text N times (max 20). Works as alias for end-of-message $(repeat:N). |
Response: PogChamp $(spam:3) Output: PogChamp PogChamp PogChamp |
$(url_encode:text) |
Percent-encodes text for safe use inside URLs. | Response: $(url_encode:hello world) Output: hello%20world |
$(url_decode:text) |
Decodes a percent-encoded URL string back to plain text. | Response: $(url_decode:hello%20world) Output: hello world |
$(uuid) |
Generates a random UUID v4 string. | Response: ID: $(uuid) Output: ID: 550e8400-e29b-41d4-a716-446655440000 |
$(random_string:N) |
Generates a random hexadecimal string of N characters. | Response: Token: $(random_string:8) Output: Token: 3fa2c91b |
$(unix_s) |
Current Unix timestamp in whole seconds. | Response: Unix: $(unix_s) Output: Unix: 1779068437 |
$(unix_ms) |
Current Unix timestamp in milliseconds (alias for $(timestamp)). |
Response: Ms: $(unix_ms) Output: Ms: 1779068437252 |
$(iso_date) |
Current date and time in ISO 8601 UTC format. | Response: $(iso_date) Output: 2026-05-19T15:42:05.123Z |
$(utc_time) |
Current date and time as a human-readable UTC string. | Response: $(utc_time) Output: Tue, 19 May 2026 15:42:05 GMT |
$(bot_name) |
Returns the bot's name. | Response: Powered by $(bot_name) Output: Powered by SasaBot |
$(bot_version) |
Returns the bot's current version string. | Response: Version: $(bot_version) Output: Version: 1.0.0 |
$(contains:text|search) |
Returns true or false depending on whether text contains the search string. |
Response: $(contains:hello world|world) Output: true |
$(indexof:text|search) |
Returns the index of the first occurrence of search in text (-1 if not found). | Response: $(indexof:sasabot|bot) Output: 4 |
$(starts_with:text|search) |
Returns true or false depending on whether text starts with the given string. |
Response: $(starts_with:sasabot|sasa) Output: true |
$(ends_with:text|search) |
Returns true or false depending on whether text ends with the given string. |
Response: $(ends_with:sasabot|bot) Output: true |
$(replace_all:text|search|replace) |
Alias for $(replace:...) — replaces all occurrences of search with replace in text. |
Response: $(replace_all:aabbaa|a|x) Output: xxbbxx |
$(char_at:text|N) |
Returns the character at position N (0-based) in text. | Response: $(char_at:sasabot|4) Output: b |
$(char_code_at:text|N) |
Returns the Unicode code point of the character at position N in text. | Response: $(char_code_at:A|0) Output: 65 |
$(btoa:text) |
Alias for $(base64_encode:...) — encodes text to Base64. |
Response: $(btoa:bot) Output: Ym90 |
$(atob:text) |
Alias for $(base64_decode:...) — decodes a Base64 string to plain text. |
Response: $(atob:Ym90) Output: bot |
$(add:a|b), $(sub:a|b), $(mul:a|b), $(div:a|b) |
Basic arithmetic on two numbers: addition, subtraction, multiplication, division. | Response: $(add:10|3) / $(div:10|4) Output: 13 / 2.5 |
$(mod:a|b), $(pow:a|b) |
Modulo (remainder after division) and power (exponentiation). | Response: $(mod:10|3) / $(pow:2|8) Output: 1 / 256 |
$(ceil:number), $(floor:number) |
Rounds a number up (ceil) or down (floor) to the nearest integer. | Response: $(ceil:4.2) / $(floor:4.9) Output: 5 / 4 |
$(pi), $(e) |
Mathematical constants Pi (3.14159...) and Euler's number (2.71828...). | Response: Pi = $(pi) Output: Pi = 3.141592653589793 |
$(sin:n), $(cos:n), $(tan:n) |
Trigonometric functions sine, cosine, tangent (input in radians). | Response: $(sin:0) / $(cos:0) Output: 0 / 1 |
$(log:n), $(log10:n) |
Natural logarithm (base e) and base-10 logarithm of a number. | Response: $(log10:1000) Output: 3 |
$(jokesapi) |
Fetches a random dark joke from JokeAPI, auto-translated to Russian. | Response: $(jokesapi) Output: [random translated dark joke] |