Chatbot

Chatbot helps you manage your Twitch chat — run commands, moderate messages, reward loyal viewers, and more. If you’re part of a campaign, Chatbot can also send the following:

  • timed messages
  • responses to chat commands
  • campaign links and promotional information

To set up Chatbot:

  1. Sign up for Partner Network with your Twitch account, or connect Twitch to your existing account.
  2. Go to the Chatbot page and click Turn on Chatbot. This adds the Xsolla chatbot to your channel and grants the chatbot moderator permissions.

Once activated, you can control Chatbot and check its status on the Settings > Chatbot page. Twitch status can take the following values:

  • Connected — the Xsolla chatbot is active in your channel.
  • Pending — the Xsolla chatbot is reconnecting after a server restart or update.
  • Disconnected — the Xsolla chatbot isn’t connected. This can happen if the Xsolla chatbot was banned from your channel or doesn’t have moderator status.
  • Unknown — the Xsolla chatbot’s status couldn’t be determined. Contact our support team if the issue persists.

Moderator status can take the following values:

  • Granted — the Xsolla chatbot can moderate your chat, including removing spam and timing out disruptive viewers.
  • Not granted — the Xsolla chatbot can’t moderate your chat without moderator access.

Moderation

To choose the content you want to moderate, go to the Chatbot > Moderation page, and make sure the toggles for the content you want to moderate are turned on in the Chat filters section:

FilterTrigger
DuplicateA message is repeated a set number of times.
EmotesA message contains at least a set number of emotes.
LinksA message contains any link, with an optional allowlist (partial match — e.g. twitch.tv allows all Twitch links).
SymbolsA message reaches a set length and percentage of it is symbols.
UppercaseA message reaches a set length and percentage of it is uppercase.

These are the default thresholds — add new ones or adjust them in the Warning thresholds section:

PunishmentWarning count
Timeout for 10 minutes3
Timeout for 3 hours6
Permanent ban9

If you want the chatbot to reply to a posted link with the title of the page it leads to, turn on the Link preview toggle.

Alerts

Note
This is separate from the Alert layer in your Overlay. Chat alerts post a text message in chat; the Overlay alert shows visually on your stream.

Chatbot can post a message in chat for follows, subscriptions, tips, and other events. Turn on all alerts at once, or enable and edit each one individually:

EventDefault message
FollowThank you for following, @$username.
SubscriptionThank you for subscribing, @$username.
ResubscriptionThank you for being subscribed for $months months, @$username.
Subscription giftThank you @$gifter for gifting a sub to @$username.
Twitch cheer@$username cheered $amount bits to the stream.
Twitch raid@$username is raiding the stream with $viewers viewers.
Tip$name tipped $amount to the stream: $message.
ExtraLife/Tiltify$name donated $amount to charity.

These default messages use the following variables:

VariableDescription
$usernameThe viewer’s Twitch username.
$gifterThe username of the viewer who gifted the subscription.
$monthsThe number of months a viewer has been subscribed.
$amountThe amount tipped, cheered in bits, or donated.
$viewersThe number of viewers in a raid.
$nameThe name of the tipper or donor.
$messageThe message included in a tip.

These are separate from variables available for custom commands. See Commands section for more information.

Note
Tip and ExtraLife/Tiltify alerts stay disabled until you connect PayPal or your charity campaign.

Timers

To post automated messages at a set interval, go to Chatbot > Timers page, and set one up to promote your tracking link or storefront, share your social media, or remind viewers of chat rules. You can configure messages to post only while you’re live.

Commands

Go to the Chatbot > Commands page to enable or disable built-in commands for your channel. Each command has its own permission level (everyone, moderator, or owner) and can be assigned a cost in loyalty points. In addition to built-in commands, you can create your own commands by clicking New command. You and your moderators can also use !set and !unset directly in Twitch chat to quickly edit custom commands.

Chatbot includes the following built-in commands.
CommandDescription
!songShows what the streamer is listening to.
!pingSends pong to confirm the bot is online and working.
!uptimeShows how long the stream has been live for.
!reset [command]Resets the counter that shows the number of times the command has run.
!unset [command]Removes a command with a custom message.
!set [name] [message]Creates a new command with a custom message.
!allow [user]Temporarily allows the specified user to post a link.
!warn [user] [silent] [reason]Issues a warning for the user specified.
!warnings [user]Retrieves the number of warnings a user has.
!unwarn [user]Resets the warning count for the user specified.
!mute [user] [silent] [duration]Mutes the user specified. An expiry time can be defined.
!unmute [user]Unmutes the user specified.
!clear [user]Deletes all the messages the user specified has said recently.
!boostsRetrieves information on the boosts and point boosts available.
!takepoints [user] [points]Takes points from a given user.
!give [user] [points]Transfers some points from the sender to another user.
!buyboost [boost]Purchases a point boost, which can later be upgraded, but cannot be downgraded.
!addpoints [user] [points]Gives points to a specific user.
!points [user]Shows the number of points a specific user has.
!boost [user]Retrieves a user’s current point boost and expiry date.
!giveall [points]Gives points to all users in the channel.
!leaderboard [count]Shows the users who have the highest number of points, up to the count specified.
!rankShows a user’s current rank.
!removequote [quote]Removes a quote from the bot’s database.
!quote [quote]Returns a random quote, or the specific quote specified in the command.
!addquote [person] [message]Adds a new quote to the bot’s database.
!raffleendEnds the current raffle, and selects a random winner.
!raffleset [word] [followers]Starts a giveaway, setting the key word the bot will look for.
!addschedule [message]Adds a new message to the schedule’s message wheel.
!commandsShows a list of commands in chat.
!setgame [game]Changes the stream game across all platforms the bot is linked to.
!settitle [title]Changes the stream title across all platforms the bot is linked to.

Custom commands support variables for more advanced responses.
VariableDescription
$userAccepts a username as an argument when the command runs (e.g. !costream @Xsolla). Always prefixes with @, even if you don’t type it.
$senderThe name of the user who ran the command.
$title, $game, $urlThe Twitch channel’s stream title, current game, and channel URL — for your own channel by default. Include $user in the command to pull this information from another Twitch channel instead (e.g. !costream $user $title for a shoutout).
$countThe number of times the command has been run. Moderators can reset it with !reset [command].
$arg1, $arg2, $arg3, …Extra arguments passed after the command, separated by spaces.
$argsEverything after the command, ignoring spaces.

By default, responses start with your username — disable this by unticking Start with @username when creating a command. You can mix and match variables in a single command.

You can also trigger images and sounds on your stream from a command — see Overlay's triggers for details.

Loyalty

Go to the Chatbot > Loyalty page to set up a loyalty program. Click Settings and choose one of three systems:

  • Regulars — manually grant loyal viewers a special chat role with access to additional commands. Click Regular to add a viewer by username.
  • Ranks — viewers progress through custom tiers based on hours watched. Click Rank and set up ranks (name + hours required). Then enable the !rank command so viewers can check their own rank in chat, and check the leaderboard on your Creator Site or with !leaderboard.
  • Points — a fully customizable in-chat currency. Viewers can spend points to fire commands linked to your Overlay’s trigger layers, or to enter raffles you run through chat. To configure how viewers earn points, complete the following fields:
    • Points name — the name of the currency (default: points).
    • Subscriber multiplier — a multiplier applied to points earned by subscribers.
    • Viewing — points earned for chatting, watching your stream live, or watching while you’re offline. You can configure the amount and interval for each.
    • Events — bonus points for following, subscribing, gifting a subscription, tipping, winning a raffle, hosting, cheering, or raiding.
    • Ignored users — accounts excluded from earning points (e.g. other chat bots).
Note
Switching between loyalty systems doesn’t erase your progress — points balances and ranks are preserved, and you can switch back and forth freely. Only the commands for your currently selected system are available to viewers.

Quotes

Save memorable moments from your chat as text, attributed to the viewer who said them, for others to rediscover later. There is no limit on how many quotes you can save. Add quotes from the Chatbot > Quotes page — when someone runs !quote in chat, Chatbot randomly posts one of your saved quotes.

Was this article helpful?
Thank you!
Is there anything we can improve? Message
We’re sorry to hear that
Please explain why this article wasn’t helpful to you. Message
Thank you for your feedback!
We’ll review your message and use it to help us improve your experience.
Last updated: September 4, 2026

Found a typo or other text error? Select the text and press Ctrl+Enter.

Report a problem
We always review our content. Your feedback helps us improve it.
Provide an email so we can follow up
Thank you for your feedback!
We couldn't send your feedback
Try again later or contact us at [email protected].