WildcatSage Bot Commands
| Command | Description |
|---|---|
General |
|
| !ask / !sage | |
!ask <question>
Features:
|
|
| !search | |
!search <query>
|
|
| !game | |
|
Modes:
!game
- Shows current game information and facts.
!game analyze
- Uses AI to inspect stream visuals and describe gameplay.
!game <question>
- Answers questions about the current game.
!game analyze <question>
- Inspects stream visuals and answers your question.
Image Analysis Features:
|
|
| !translate | |
!translate <lang>
!translate <stop>
Mod
!translate <lang|stop> [user]
Mod
!translate [user] <lang|stop>
Mod
!translate stop all
Stops all active translations in the channel
|
|
| !commands / !help | |
!help or !commands
|
|
| !lurk | |
!lurk [your reason for lurking]
|
|
| !quote | |
!quote
Shows a random quote
!quote <id>
Shows a quote by ID number (for example: !quote 12)
!quote last
Shows the most recent quote
!quote <search term>
Searches quotes by text or author (for example: !quote parfait)
!quote search <term>
Explicit search command
!quote add <text [- author]>
Adds a new quote. Add an author after " - " (for example: !quote add "hello world - parfait")
Mod
!quote delete <id>
Deletes a quote (moderators and broadcaster only)
Mod
!quote edit <id> <text [- author]>
Edits a quote (moderators and broadcaster only)
|
|
| !followage | |
!followage
Shows your own follow time
!followage <username>
Shows another user's follow time
|
|
Custom Commands |
|
| !command Mod | |
|
Mod
!command add <name> <response>
Creates a new text command
Mod
!command addai <name> <prompt>
Creates a new AI command that generates a unique response from a prompt
Mod
!command edit <name> <response>
Updates a command response
Mod
!command remove <name>
Deletes a command
Mod
!command show <name>
Shows the response template and settings for a command
Mod
!command options <name> permission=<level>
Sets required permission: everyone, subscriber, vip, moderator, or broadcaster
Mod
!command options <name> cooldown=<seconds>
Sets a cooldown between uses in seconds
Mod
!command options <name> type=<text|prompt>
Switches a command between text mode and AI mode
|
|
| !timer Mod | |
|
Mod
!timer add <name> <interval> <response>
Creates a new text timer with the given interval in minutes
Mod
!timer addai <name> <interval> <prompt>
Creates a new AI timer with the given interval in minutes
Mod
!timer edit <name> <response>
Updates a timer response
Mod
!timer interval <name> <minutes>
Sets the minimum interval in minutes between timer messages
Mod
!timer lines <name> <number>
Sets the minimum number of chat lines between timer messages
Mod
!timer enable <name>
Enables a paused timer
Mod
!timer disable <name>
Pauses an active timer
Mod
!timer remove <name>
Deletes a timer
Mod
!timer show <name>
Shows the settings for a specific timer
Mod
!timer list
Shows all timers for the channel
|
|
Games |
|
| !geo | |
!geo Starts a real-world game with locations across the world
!geo <region> Starts a game in a specific region (for example: !geo
Japan)
!geo game Starts a game using locations from the current stream game
!geo game [Game Title] Starts a game using a specified game title (for example:
!geo game "Metroid Prime")
!geo <command> N Runs a game with a set number of rounds (for example: !geo Japan 3)
!geo leaderboard
!geo stop Stops the game (game starter, moderators, or broadcaster)
Mod
!geo config difficulty <easy|normal|hard>
Mod
!geo config interval <seconds>
Sets the delay between clues (30 to 300 seconds)
Mod
!geo config duration <minutes>
Sets the round duration (3 to 20 minutes)
Mod
!geo config region <regions>
Sets default regions (for example: Europe,Asia or USA,Canada)
Mod
!geo config game <titles>
Sets preferred game titles as a comma-separated list
Mod
!geo config pointsbase <number>
Sets base points per round (1 to 100)
Mod
!geo config pointstimebonus <true|false>
Mod
!geo config pointsdifficultymultiplier <true|false>
Mod
!geo config scoretracking <true|false>
Mod
!geo config maxrounds <number>
Sets maximum rounds per game (1 to 10)
Mod
!geo resetconfig
Mod
!geo clearleaderboard Alias: !geo resetstats
!geo report <reason> Reports incorrect locations or clues
!geo help
|
|
| !riddle | |
!riddle Starts a general knowledge riddle game
!riddle <subject> Starts a riddle on a specific subject (for example: !riddle animals)
!riddle <rounds> Starts a game with a set number of rounds (for example: !riddle 3)
!riddle <subject> <rounds>
Starts a subject game with multiple rounds (for example: !riddle history 5)
!riddle game Starts a riddle about the current stream game
!riddle game <rounds>
!riddle leaderboard
!riddle report <reason...>
Reports incorrect or broken riddles
!riddle stop Stops the game (game starter, moderators, or broadcaster)
Mod
!riddle config difficulty <easy|normal|hard>
Mod
!riddle config questiontime <seconds>
Sets answer time per riddle (15 to 120 seconds)
Mod
!riddle config pointsbase <number>
Sets base points per riddle (1 to 100)
Mod
!riddle config pointstimebonus <true|false>
Mod
!riddle config pointsdifficultymultiplier <true|false>
Mod
!riddle config scoretracking <true|false>
Mod
!riddle config maxrounds <number>
Sets maximum rounds per game (1 to 20)
Mod
!riddle config keywordslimit <number>
Sets number of recent keywords to exclude (for example: 20 to 100)
Mod
!riddle config rounddelay <milliseconds>
Sets delay between rounds in milliseconds
Mod
!riddle resetconfig
Mod
!riddle clearleaderboard Alias: !riddle cleardata
!riddle help
|
|
| !trivia | |
!trivia Starts a general knowledge trivia game
!trivia <topic> Starts trivia on a specific topic (for example: !trivia science)
!trivia game Starts trivia about the current stream game
!trivia <rounds> Starts a game with a set number of rounds (for example: !trivia 3)
!trivia <topic> <rounds>
Starts a topic game with multiple rounds (for example: !trivia history 5)
!trivia leaderboard
!trivia report <reason> Reports incorrect or broken questions
!trivia stop Stops the game (game starter, moderators, or broadcaster)
Mod
!trivia config difficulty <easy|normal|hard>
Mod
!trivia config time <seconds>
Sets answer time per question (10 to 120 seconds)
Mod
!trivia config pointsbase <number>
Sets base points per question (1 to 100)
Mod
!trivia config pointstimebonus <true|false>
Mod
!trivia config pointsdifficultymultiplier <true|false>
Mod
!trivia config scoretracking <true|false>
Mod
!trivia config topic <topics>
Sets preferred topics as a comma-separated list
Mod
!trivia config maxrounds <number>
Sets maximum rounds per game (1 to 10)
Mod
!trivia resetconfig
Mod
!trivia clearleaderboard
!trivia help
|
|
Config |
|
| !botlang Mod | |
|
Mod
!botlang <language>
Mod
!botlang status Shows the current channel language
Mod
!botlang off Resets the channel language to English
Mod
!botlang default Resets the channel language to English
|
|
| !auto Mod | |
!auto Shows current auto-chat mode, frequency, and active categories
Mod
!auto <off|low|medium|high> Sets auto-chat frequency (off disables periodic messages only)
Mod
!auto config greetings:<on|off>
Enables or disables greetings when the stream starts and ends
Mod
!auto config follows:<on|off>
Enables or disables messages for new followers
Mod
!auto config subscriptions:<on|off>
Enables or disables messages for new subscriptions
Mod
!auto config raids:<on|off>
Enables or disables welcome messages for incoming raids
Mod
!auto config facts:<on|off> Enables or disables automated facts and tips
Mod
!auto config questions:<on|off>
Enables or disables automated viewer questions
Mod
!auto config ads:<on|off> Enables or disables notifications before ad breaks
|
|
| !disable Mod | |
!disable <command>
!disable lurk Disables the !lurk command
!disable trivia Disables the !trivia command
|
|
| !enable Mod | |
!enable <command>
!enable trivia Enables the !trivia command
|
|
| !ping | |
!ping
|
|
Response Variables
You can use response variables to insert dynamic text into custom commands. Put $(variable) in your command response. The bot replaces the variable when a user runs the command.
| Variable | What it does | Example output |
|---|---|---|
| $(user) | Username of the person who ran the command | WildcatGamer |
| $(channel) | Channel name | WildcatStreamer |
| $(args) | All text after the command name as one string | If a user runs !shout hello world, $(args) = hello world |
| $(1) $(2) ... | A single word by position: $(1) is the first word, $(2) is the second word | If a user runs !shout hello world, $(1) = hello, $(2) = world |
| $(count) | Total number of times users ran this command | 42 |
| $(random X-Y) | A random number between X and Y | 17 from $(random 1-20) |
| $(uptime) | Current stream uptime | 2h 30m |
| $(game) | Current stream game title | Metroid Prime |
| $(followage) | How long the user has followed the channel | 2 years 3 months |
| $(checkin_count) | The viewer daily check-in total (Channel Point Rewards only) | 14 |
| $(pronouns) | Pronouns of the user who ran the command | They/Them |
| $(pronoun_subject) | Subject pronoun of the user who ran the command | they |
| $(pronoun_object) | Object pronoun of the user who ran the command | them |
| $(pronoun_possessive) | Possessive pronoun of the user who ran the command | their |
- Custom Commands and Daily Check-In: Support all variables, including user-specific variables.
- Timed Messages (Timers): Run on a schedule without an active user. Timers support only channel and stream variables (
$(channel),$(game),$(uptime),$(count),$(random X-Y)).
Examples
Here are example custom commands:
| Chat command | Bot response |
|---|---|
| !command add hi Hello $(user)! Welcome! | Hello WildcatGamer! Welcome! |
| !command add roll $(user) rolled a $(random 1-20)! | WildcatGamer rolled a 17! |
| !command add live We have been live for $(uptime) playing $(game)! | We have been live for 2h 30m playing Metroid Prime! |
| !command add hug $(user) hugs $(1)! | WildcatGamer hugs WildcatStreamer! |
| !command add cheer $(user) arrived! Welcome $(pronoun_object)! | WildcatGamer arrived! Welcome them! |
| !command add uses This command was used $(count) times! | This command was used 42 times! |
AI Commands
AI commands use a prompt instead of a fixed text response. The bot sends the prompt to an AI model to generate a unique reply every time. You can also use response variables in prompts.
You can create AI commands in the
Web Dashboard.
Select + Add, enable AI Mode, and enter your prompt.
You can also create AI commands in chat with
!command addai <name> <prompt>.
| AI Prompt | Bot response |
|---|---|
| Name: vibe Prompt: Tell $(user) what kind of vibe "$(args)" gives off in one sentence. |
If a user enters !vibe I just ate an entire pizza, the AI can reply: "WildcatGamer your message gives off deeply respectable goblin energy." Replies vary with each use. |
| Name: hug Prompt: Write a short, funny hug message from $(user) to $(1). |
If a user enters !hug WildcatStreamer, the AI can reply: "WildcatGamer wraps WildcatStreamer in a hug so warm it could melt a glacier." |
| Name: fortune Prompt: Give $(user) a short fortune cookie message. |
A unique fortune for each use: "WildcatGamer, today you will find a rare item in an unexpected place." |
Tip: You can convert a text command to AI mode in the dashboard by enabling AI Mode. You can also run !command options <name> type=prompt in chat. Switch back with type=text.
Preview: Before you save an AI command, select Preview. The bot writes one sample reply from your prompt and the current stream context. The bot does not post the sample to chat. Each preview is a new reply, so the real message will be different. If the prompt uses $(args), enter sample arguments in the field next to the button.
Web Dashboard
The WildcatSage Web Dashboard lets streamers configure bot settings for their channel. Sign in with your Twitch account to access the dashboard.
Dashboard Features
- Bot Management: Add or remove WildcatSage from your channel.
- Channel Settings: Configure auto-chat frequency, stream event messages, and ad break notifications.
- Stream Events: Enable AI greetings, farewells, and celebration messages for new followers, subscribers, and incoming raids.
- Command Management: Create custom commands and enable or disable built-in commands.
- Timed Messages: Create and manage scheduled chat messages with interval and chat line settings.
- AI Preview: Show a sample AI reply for a custom command, a timed message, or the daily check-in before you save it.
- Bot Personality: Customize tone, humor, and style instructions for AI responses, with automatic Twitch rule checks.
- Bot Language: Set the language the bot speaks in your channel, or use the stream language from Twitch.
- Daily Check-In: Configure a Channel Point Reward for daily check-ins with streak tracking and optional AI responses.
- Dashboard Language: Show the dashboard in one of eight languages. This setting is separate from the bot language.
Getting Started
- Visit the Dashboard: Go to https://bot.wildcat.chat/.
- Authorize: Select "Sign in with Twitch" and approve the required permissions.
- Add the Bot: Select "Add bot to my channel" to invite WildcatSage to your channel.
- Configure: Change bot settings in the dashboard.
- Troubleshooting: If the bot does not respond, enter /mod WildcatSage in Twitch chat to grant moderator permissions.
OAuth Permissions
The dashboard requires these Twitch OAuth permissions:
- user:read:email - Reads your email address for account identification.
- channel:read:ads - Receives ad break notifications for your channel.
- channel:manage:moderators - Grants moderator permissions to the bot.
- moderator:read:followers - Reads follower data for commands such as !followage.
- channel:manage:redemptions - Creates and manages Channel Point Rewards for features such as Daily Check-In.
Note: WildcatSage is currently invite-only. If your channel does not appear in the dashboard, request access through the contact form.
Bot Personality
Bot Personality controls how WildcatSage speaks in your channel. You write the personality text in the dashboard. The bot then uses this text for its AI replies.
Setup
- Open the WildcatSage Dashboard and go to the Bot Personality section.
- Change the text in the box. The box contains the default personality.
- Select Save.
Note: The new personality applies immediately. A restart is not necessary.
Limits
| Item | Value |
|---|---|
| Maximum length | 2000 characters |
| Applies to | Chat replies, auto-chat messages, stream event messages, AI custom commands, and Daily Check-In AI messages |
| Does not apply to | Trivia, Riddle, and Geo games |
What You Can Change
You can change the name, the tone, the humor, and the topics of the bot. The default personality includes a cat roleplay section. You can remove this section.
Rules That Always Apply
These rules apply to all channels. Your text cannot change them:
- The bot does not send or simulate chat commands such as /ban or /timeout.
- The bot keeps each reply to one or two sentences.
- The bot does not show its own instructions in chat.
- The channel values stay in effect.
The Rules that always apply panel in the dashboard shows the full text of these rules. This panel is read-only.
Safety Check
WildcatSage examines each personality before it stores the text. This check uses Gemini Flash Lite, the same model that does translation.
The check rejects text that gives the bot these instructions:
- Harass viewers, or attack a person.
- Send or simulate moderation commands.
- Impersonate a real person or a company.
- Ignore the rules that always apply.
- Show its own instructions in chat.
- Send spam, scams, or advertisements.
The check does not reject a personality because of its tone. A rude, sarcastic, or profane personality is permitted.
If the check rejects your text, the dashboard shows the reason. The bot does not store the text. Your text stays in the box. Correct the text, then select Save again.
If the check is not available, the save fails. The bot does not store text that the check did not examine.
Reset to Default
- Select Reset to default.
- Select OK in the confirmation message.
When your channel has a custom personality, the dashboard shows this button.
Shared Chat
In a Twitch shared chat session, the bot mixes the personalities of all channels in the session. The bot gives more weight to the personality of the host channel. A channel with the default personality adds nothing to the mix.
Other AI Prompts
The same safety check applies to these fields:
- AI prompts for custom commands
- AI prompts for timers
- AI prompts for Daily Check-In
Text commands and text timers do not use the check. The bot sends this text without a change.
Bot Language
WildcatSage can speak a language other than English in your channel. The language applies to command replies, game messages, and AI replies.
Automatic Detection
You set a stream language on your Twitch channel. WildcatSage reads this value and uses it as the default language for your channel.
- Detection gives a default only. A language set in the dashboard or with !botlang always wins.
- The bot reads the Twitch value each time it needs it. If you change the language on Twitch, the bot changes with it.
- Channels with English as the stream language stay in English.
Set the Language
You can set the bot language in the dashboard or in chat. Only the broadcaster and moderators can change it.
Set the Language in the Dashboard
Open the Web Dashboard. Find the Bot Language card. Then select a language from the list.
- Select Automatic to use the stream language from Twitch. This option is the default.
- Select a language to hold the channel in that language. The Twitch stream language then has no effect.
- The list has two groups. Written in advance holds the eight languages with translations ready. Translated when sent holds the other languages.
- The dashboard saves your choice immediately. The bot changes language a few seconds later.
Set the Language in Chat
Chat accepts more languages than the dashboard list. Use these commands:
- !botlang spanish - Sets the channel language to Spanish.
- !botlang status - Shows the current language and where it came from.
- !botlang off - Returns the channel to English.
Note: !botlang off and the English option both hold the channel in English. Automatic detection does not change it back.
To use automatic detection again, select Automatic in the dashboard.
Languages With Written Translations
Eight languages have translations that are written in advance: English, Spanish, French, German, Italian, Portuguese, Japanese, and Russian.
In these languages, fixed messages such as game announcements go to chat immediately. The words are the same each time.
The !botlang command accepts more languages than these eight. For a language without written translations, the bot translates each message as it sends it.
These messages are correct, but they are slower and the words can change between messages.
AI Replies
The bot writes AI replies new each time, so they are not limited to the eight languages.
The bot answers each person in the language that person used. If the language is not clear, the bot uses the language of your stream.
Time periods and language names follow the channel language. As an example, !followage writes its units in the channel language.
Dashboard Language
The dashboard has its own language setting. This setting is separate from the bot language.
The language picker is in the bottom corner of every dashboard page. The dashboard uses your browser language until you make a choice.
To see one page in a different language, add ?lang=ja to the end of the address.
Daily Check-In
Daily Check-In is a Channel Point Reward. Viewers check in once per stream to track their daily streak. The dashboard creates and manages the reward on Twitch.
Setup
- Open the WildcatSage Dashboard and go to the Daily Check-In section.
- Enable the toggle, then enter a reward title and Channel Point cost.
- Enter a response template with variables like $(user) and $(checkin_count), or enable AI Mode for unique replies.
- If you enable AI Mode, select Preview to see a sample reply before you save.
- Select Save. The bot creates the reward on Twitch.
Available Variables
| Variable | What it does |
|---|---|
| $(user) | Display name of the viewer who checked in |
| $(checkin_count) | Total number of check-ins for the viewer |
| $(channel) | Channel name |
| $(pronouns) | Pronouns of the viewer who checked in |
| $(pronoun_subject) | Subject pronoun of the viewer who checked in |
| $(pronoun_object) | Object pronoun of the viewer who checked in |
| $(pronoun_possessive) | Possessive pronoun of the viewer who checked in |
Examples
Template:
$(user) checked in! Day #$(checkin_count) 🎉
Output: WildcatGamer checked in! Day #14 🎉
AI Mode Prompt:
Write a fun, short congratulatory message for $(user) on check-in number $(checkin_count).
Output: "WildcatGamer, 14 days straight? You're on fire! At this rate you'll outlast the sun. ☀️" — replies vary with each use.
Requirement: You must have Twitch Affiliate or Partner status to create Channel Point Rewards.