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 world
Response: 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 Dota
Command 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]