Recently Added

6 commands
?bio
New
Get a Twitch user's bio

Usage:

?bio [username]
?followers
New
Get the follower count of a Twitch user

Usage:

?followers [username]
?title
New
Get a channel's current stream title (defaults to this channel)

Usage:

?title [username]
?userid
New
Get a Twitch user's ID

Usage:

?userid [username]
?badges
New
Shows how many global badges a user owns

Usage:

?badges [username]
?nationaldays
New
Get a random national day for today, tomorrow or any date

Usage:

?nationaldays [day]

Fun & Entertainment

33 commands
?8ball
Ask the magic 8ball a question

Usage:

?8ball [question]
?ascii
Turn an emote into braille art. Works with Twitch, 7TV, BTTV and FFZ emotes, and with plain emoji

Usage:

?ascii <emote>
?catfact
Get a random cat fact

Usage:

?catfact
?chatsummary
Get a summary of the chat in the past 30 minutes. Use ?cs continue to see more of a truncated response

Usage:

?chatsummary
?coinflip
Flip a coin

Usage:

?coinflip
?cookie
Get your daily fortune cookie. Resets at midnight UTC

Usage:

?cookie
?dadjoke
Get a random dad joke

Usage:

?dadjoke
?dogfact
Get a random dog fact

Usage:

?dogfact
?fact
Get a random fact

Usage:

?fact
?fill
Repeat a word or phrase until it fills one chat message

Usage:

?fill <text>
?firstline
Opt-out
Get the earliest logged message from a user in a channel

Usage:

?firstline [username] [channel]
?furry
Get a random fursona

Usage:

?furry [username]
?gay
Check how gay someone is

Usage:

?gay [username]
?gif
Get a random gif

Usage:

?gif [query]
?hi
Greet a random user in chat

Usage:

?hi
?imagine
Generate an image with AI

Usage:

?imagine <prompt>
?job
Give yourself or someone else a made-up job

Usage:

?job [username]
?love
Roll a random love percentage between two people

Usage:

?love <username> [username2]
?me
See how hateful you are

Usage:

?me
?merp
Get a random merp streamable link

Usage:

?merp
?nationaldays
New
Get a random national day for today, tomorrow or any date

Usage:

?nationaldays [day]
?onthisday
Get a random event from history on this day

Usage:

?onthisday
?pregnant
Man, I really just be making anything a command 😭

Usage:

?pregnant [username]
?pyramid
Build a pyramid out of one word. The bot needs mod or VIP to send it

Usage:

?pyramid <word> [width]
?randomclip
Get a random clip from a specified twitch channel

Usage:

?randomclip [channel]
?randomline
Opt-out
Get a random message from a user

Usage:

?randomline [username] [channel]
?randomquote
Opt-out
Get a random message from chat

Usage:

?randomquote [channel]
?sigma
Get a random sigma quote

Usage:

?sigma
?smelly
Check how someone smells

Usage:

?smelly [username]
?truck
Truck a user with the power of a questionable engine swap

Usage:

?truck [username]
?tuck
Tuck a user in bed with a sweet message

Usage:

?tuck [username]
?wisdom
Get a random wisdom quote

Usage:

?wisdom
?yourmom
Get a random your mom joke, optionally aimed at someone

Usage:

?yourmom [username]

Casino Games

10 commands
?balance
Check your chip balance, or someone else's

Usage:

?balance [username]
?blackjack
Play blackjack against the bot. Answer with hit, stand, double or split

Usage:

?blackjack <amount>
?casino
Casino help, the chip leaderboard, and the list of casino games

Usage:

?casino
?convert
Turn points you won in chat games into casino chips

Usage:

?convert <amount> <game>
?duel
Challenge someone to a 50/50 duel for chips (or reply to them with ?duel <amount>). They answer accept or deny within 60 seconds

Usage:

?duel <username> <amount>
?give
Send some of your chips to another user

Usage:

?give <username> <amount>
?ridethebus
Four rounds of card guesses: colour, higher/lower, inside/outside, suit. Cash out after any round

Usage:

?ridethebus <amount>
?roll
Claim your daily bonus chips, with streak and jackpot multipliers

Usage:

?roll
?roulette
Play roulette with various betting options (number, color, even/odd, high/low, dozen, column)

Usage:

?roulette <amount> [bet]
?slots
Spin the slot machine. Three of a kind pays up to 20x, any pair pays 2x

Usage:

?slots <amount>

Chat Games

9 commands
?familyfeud
Start a game of Family Feud with chat. Guess the top survey answers

Usage:

?familyfeud
?gamestats
View your game statistics across all games (trivia, hangman, family feud, higher lower, scramble, riddles)

Usage:

?gamestats [game] [username]
?hangman
Play hangman with the chat

Usage:

?hangman [category]
?higherlower
Play a game of Higher or Lower. Guess if the second item has higher or lower search popularity than the first.

Usage:

?higherlower
?leaderboard
View the leaderboard for a chat game

Usage:

?leaderboard [game]
?riddle
Play a game of Riddles. Try to solve the riddle before time runs out!

Usage:

?riddle
?rng
Roll a number from 0 to 1,000,000 and score it against rngdle.com's 233 badge rules. One roll per person per UTC day

Usage:

?rng [username]
?scramble
Play a word unscrambling game. Try to unscramble the mixed up letters to form a word.

Usage:

?scramble [category]
?trivia
Play trivia with various categories and difficulties.

Usage:

?trivia [category]

Chat & User Info

27 commands
?accountage
Shows the age of a Twitch account

Usage:

?accountage [username]
?badges
New
Shows how many global badges a user owns

Usage:

?badges [username]
?bio
New
Get a Twitch user's bio

Usage:

?bio [username]
?chattercount
Shows the number of chatters in a channel

Usage:

?chattercount [channel]
?color
Check a user's chat colour, or look up what a hex code is called

Usage:

?color [username]
?countlines
Check a user's message count in a channel

Usage:

?countlines [username] [channel]
?deadchat
Check how busy chat has been lately, with a remark about it. Defaults to the last 10 minutes

Usage:

?deadchat [for:period]
?followage
Opt-out
Check how long someone has followed a channel. With one argument that argument is the channel, so ?followage xqc means "how long have I followed xqc"

Usage:

?followage [channel]
?followers
New
Get the follower count of a Twitch user

Usage:

?followers [username]
?lastseen
Opt-out
Check when a user was last seen in chat

Usage:

?lastseen <username>
?modcheck
Check whether someone is a mod in a channel, and for how long. With one argument that argument is the channel, so ?modcheck xqc means "am I a mod in xqc"

Usage:

?modcheck [channel]
?namechange
Opt-out
Check a user's name change history

Usage:

?namechange [username]
?offlinescore
Check the percentage of messages sent during offline chat compared to total messages sent

Usage:

?offlinescore [username]
?profilepicture
Get a user's profile picture

Usage:

?profilepicture [username]
?recap
Recap a user's messages, busiest day and top emotes over a period (the past week by default)

Usage:

?recap [username] [for:period]
?roles
Check your roles (vip, mod, founder) across all channels

Usage:

?roles [username]
?rules
Shows the channel's rules

Usage:

?rules [channel]
?streaminfo
Get info about a channel's stream

Usage:

?streaminfo [channel]
?subage
Opt-out
Check how long someone has subscribed to a channel. With one argument that argument is the channel, so ?subage xqc means "how long have I subbed to xqc"

Usage:

?subage [channel]
?title
New
Get a channel's current stream title (defaults to this channel)

Usage:

?title [username]
?todaysmessages
Shows how many messages a user has sent today (UTC time)

Usage:

?todaysmessages [username] [for:period]
?todaysmessageschannel
Shows how many messages were sent in the channel today (UTC), split into live and offline chat, plus the channel's top 5 chatters

Usage:

?todaysmessageschannel [for:period]
?topchatters
Shows the top 10 chatters in a channel

Usage:

?topchatters [channel]
?user
Get Twitch user information

Usage:

?user [username]
?userid
New
Get a Twitch user's ID

Usage:

?userid [username]
?vipcheck
Check whether someone is a VIP in a channel, and for how long. With one argument that argument is the channel, so ?vipcheck xqc means "am I a VIP in xqc"

Usage:

?vipcheck [channel]
?whatemoteisit
Get information about an emote

Usage:

?whatemoteisit [emote] (or reply to a message with an emote)

7TV Commands

26 commands
?7tva
Shows when someone linked their 7TV account to Twitch, and how long ago that was

Usage:

?7tva [username]
?7tvsub
Shows how long someone has had a 7TV subscription

Usage:

?7tvsub [username]
?activate
Switch which of this channel's 7TV emote sets is the active one

Usage:

?activate <set name>
?add
Add emotes to this channel's 7TV set

Usage:

?add <emote>
?conflicts
Find emotes in this channel that are the same emote added twice under different names

Usage:

?conflicts
?copyset
Copy a 7TV emote set from one channel to another

Usage:

?copyset [source channel] (target channel)
?deleteset
Permanently delete one of this channel's 7TV emote sets. The active set is refused

Usage:

?deleteset <set name>
?ecount
Get usage count of an emote

Usage:

?ecount <emote> [for:period]
?emoteleader
Display the top users for a specific emote

Usage:

?emoteleader <emote>
?emotestats
Get usage trends for an emote in this channel, including how long it has been in the set

Usage:

?emotestats <emote>
?leastused
Get the least used emotes in a channel

Usage:

?leastused [for:period]
?mostused
Get the most used emotes in a channel

Usage:

?mostused [for:period]
?myecount
Get your usage count of an emote

Usage:

?myecount <emote> [for:period]
?mymostused
Get your most used emotes in a channel

Usage:

?mymostused [username] [for:period]
?presence
Refresh a 7TV presence in this channel so changed cosmetics show up

Usage:

?presence [username]
?recentlyadded
List the 7TV emotes most recently added to this channel

Usage:

?recentlyadded [page]
?recentlyremoved
List the 7TV emotes most recently removed from this channel

Usage:

?recentlyremoved [page]
?remove
Remove emotes from this channel's 7TV set

Usage:

?remove <emote>
?rename
Rename an emote in this channel, keeping the same image

Usage:

?rename <emote> <new name>
?replace
Swap one emote for another and keep the old name

Usage:

?replace <old emote> <new emote>
?search
Search 7TV for an emote, optionally filtered by tags like -halloween or by uploader with author:<user> (no name gives their top 3), and get up to 3 matches with their channel counts and links, most widely used first

Usage:

?search <emote> [author:<user>]
?set
See the emotes in a channel's 7TV emote set

Usage:

?set [channel]
?timed
See the timed emotes in a channel's 7TV emote set

Usage:

?timed [channel] [page]
?viewsets
View all 7TV emote sets for a channel

Usage:

?viewsets [channel]
?who
See who and when someone added an emote to a channel's 7TV emote set

Usage:

?who <emote>
?yoink
Copy emotes between channels. By default from this channel into your own; with #channel, from there into this one

Usage:

?yoink <emote> [#channel]

Music & Last.fm

17 commands
?artisttracks
Show your most played songs by a specific artist. Any period works: for:7d, for:3mo, for:1y, for:all, or a calendar year, month or day like for:2024, for:march2024, for:yesterday. page:2 through page:10 go further down the list

Usage:

?artisttracks <artist> [@user] [for:period]
?compare
Compare your music taste with another user. Compares top 100 artists and the number of plays they have in common

Usage:

?compare [user 1] [user 2]
?daily
Show your daily listening stats

Usage:

?daily [@user]
?lastfm
Opt-out
Link your Last.fm account, or look at a profile. Add "hidden" to set, or use ?lastfm hide/unhide, to keep your username out of chat

Usage:

?lastfm [username]
?monthly
Show your monthly listening stats. This month by default, or name one: ?monthly aug 2022 or ?monthly for:march2024

Usage:

?monthly [@user] [month] [year]
?mysong
Show what you are listening to on Last.fm, with your play count for it

Usage:

?mysong [emote] [emote2]
?mytopcompatible
Show your top 10 most compatible users

Usage:

?mytopcompatible [username]
?plays
Show how many times a user has played a specific artist. All time by default, or any period: for:7d, for:3mo, for:1y, for:2024, for:march2024, for:yesterday

Usage:

?plays [@user] <artist> [for:period]
?roastme
Get a roast from the bot based on your Last.fm listening history. All time by default, or any period: for:14d, for:3mo, for:2024, for:aug

Usage:

?roastme [username] [for:period]
?song
Opt-out
Check another user's currently playing song

Usage:

?song [username]
?songhistory
Show a user's recently played songs

Usage:

?songhistory [username]
?topalbums
Show top 10 albums from Last.fm. Any period works: for:7d, for:3mo, for:1y, for:all, or a calendar year, month or day like for:2024, for:march2024, for:yesterday. page:2 through page:10 go further down the chart

Usage:

?topalbums [@user] [for:period]
?topartists
Show top 10 artists from Last.fm. Any period works: for:7d, for:3mo, for:1y, for:all, or a calendar year, month or day like for:2024, for:march2024, for:yesterday. page:2 through page:10 go further down the chart

Usage:

?topartists [@user] [for:period]
?topcompatible
Show top 5 most compatible users

Usage:

?topcompatible
?topsongs
Show top 10 songs from Last.fm. Any period works: for:7d, for:3mo, for:1y, for:all, or a calendar year, month or day like for:2024, for:march2024, for:yesterday. page:2 through page:10 go further down the chart

Usage:

?topsongs [@user] [for:period]
?weekly
Show your weekly listening stats

Usage:

?weekly [@user]
?whoknows
Find users who listen to a specific artist, ranked by play count

Usage:

?whoknows <artist>

Utility Commands

24 commands
?addreply
Make the bot reply whenever someone types an exact phrase. Requires mod/broadcaster roles.

Usage:

?addreply <trigger> <response>
?afk
Set your AFK status.

Usage:

?afk [message]
?antiping
Convert text using homoglyphs

Usage:

?antiping [text]
?block
Stop a user from setting reminders for you

Usage:

?block <username>
?check
Opt-out
Look up extra detail for another command: afk, cookie, reminders or todo. Opt out with ?optout checkafk

Usage:

?check <type> [username]
?delreminder
Delete a reminder you created, using the 6-digit ID from when you set it, or "last" for your most recent one

Usage:

?delreminder <reminder_id | last>
?delreply
Delete a custom reply from the bot. Requires mod/broadcaster roles.

Usage:

?delreply [trigger]
?disableonlinereply
Stop a custom reply from firing while the stream is live. Requires mod/broadcaster roles.

Usage:

?disableonlinereply <trigger>
?enableonlinereply
Let a custom reply fire while the stream is live (the default). Requires mod/broadcaster roles.

Usage:

?enableonlinereply <trigger>
?forecast
Get the 3 day weather forecast

Usage:

?forecast [location|@username]
?isdown
Check if a website is down

Usage:

?isdown [url]
?location
Save, hide or remove your default location for the weather and time commands

Usage:

?location set <place>
?math
Solve a math problem

Usage:

?math [problem]
?pick
Pick one of the options you give it, at random

Usage:

?pick <option> or <option>
?rafk
Resume the AFK status you just returned from, within 5 minutes of returning

Usage:

?rafk
?remind
Opt-out
Set a reminder for a user (Use ?delreminder <6-digit-id | last> to delete)

Usage:

?remind <username> in <duration> <message>
?replies
Get a list of all custom replies. A * marks ones disabled while live.

Usage:

?replies
?texttransform
Transform text into various styles (cursive, math, vaporwave, italics).

Usage:

?texttransform [style] [text]
?time
Check the current time in a place, a timezone or a UTC offset

Usage:

?time [location]
?todo
Manage your personal todo list. Add tasks, check your list with ?check todo, and clear items.

Usage:

?todo <task>
?translate
Translate text into another language. Translates to English unless you pass to:<language>

Usage:

?translate <text>
?unblock
Let a blocked user set reminders for you again

Usage:

?unblock <username>
?vanish
Get timed out for 1 second

Usage:

?vanish
?weather
Get current weather, or a forecast up to 48 hours / 7 days ahead with "in 2h" or "in 3 days".

Usage:

?weather [location|@username]

System Commands

7 commands
?auth
Check whether this channel is connected over OAuth or plain IRC, and when the bot joined

Usage:

?auth
?bots
Send another bot its own command for you (thepositivebot, streamelements)

Usage:

?bots <botname> [argument]
?botsubs
Lists the Twitch channels the bot is subscribed to, with one of each channel's sub emotes

Usage:

?botsubs
?help
Get help on a specified command

Usage:

?help [command]
?optin
Allow other people to use a command on you again after opting out

Usage:

?optin <command>
?optout
Stop other people using a command on you. Only works on commands tagged opt-out enabled

Usage:

?optout <command>
?ping
Check bot status and response time

Usage:

?ping

Channel moderation commands

13 commands
?ban
Ban a user from using bot commands in this channel. Optionally restrict to specific commands only. Requires mod/broadcaster roles.

Usage:

?ban <username>
?cooldown
Manage per-channel command cooldowns. Requires mod/broadcaster roles.

Usage:

?cooldown set <command> <seconds>
?disable
Disable a command for the channel you are in. Requires mod/broadcaster roles.

Usage:

?disable <command>
?disabledcommands
Get a list of disabled commands for the channel you are in.

Usage:

?disabledcommands
?disableonline
Disable a command for when the channel is live. Requires mod/broadcaster roles.

Usage:

?disableonline <command>
?enable
Enable a command for the channel you are in. Requires mod/broadcaster roles.

Usage:

?enable <command>
?enableonline
Enable a command for when the channel is live. Requires mod/broadcaster roles.

Usage:

?enableonline <command>
?mute
Mute the bot in the channel you are in. Requires mod/broadcaster roles.

Usage:

?mute
?onlinecommands
Get a list of commands enabled for when the channel is live

Usage:

?onlinecommands
?prefix
Set a custom command prefix for this channel (e.g., set to % to use %ping instead of ?ping). Symbols only, max 3 chars.

Usage:

?prefix set <prefix>
?quota
Manage per-channel command quotas. Set custom quotas, view current settings, or reset to defaults. Requires mod/broadcaster roles.

Usage:

?quota set <command> <count> for:<window>
?unban
Unban a user from using bot commands in this channel. Optionally unban from specific commands only. Requires mod/broadcaster roles.

Usage:

?unban <username>
?unmute
Unmute the bot in the channel you are in. Requires mod/broadcaster roles.

Usage:

?unmute

Deprecated

11 commands
?followanniversary
Deprecated
Showed when your follow anniversary for a channel lands

Removed:

?followanniversary - no longer available
?firstfollows
Deprecated
Showed the first channels a user ever followed

Removed:

?firstfollows - no longer available
?lastfollows
Deprecated
Showed the channels a user followed most recently

Removed:

?lastfollows - no longer available
?firstfollowedchannel
Deprecated
Showed the very first channel a user followed

Removed:

?firstfollowedchannel - no longer available
?firstchannelfollower
Deprecated
Showed a channel's first ever follower

Removed:

?firstchannelfollower - no longer available
?howlongtobeat
Deprecated
Looked up how long a game takes to beat

Removed:

?howlongtobeat - no longer available
?isstaff
Deprecated
Checked whether a user was Twitch staff

Removed:

?isstaff - no longer available
?chatleader
Deprecated
Showed the top chatter over a period

Removed:

?chatleader - no longer available
?mentions
Deprecated
Counted how often a user was mentioned

Removed:

?mentions - no longer available
?join
Deprecated
Added the bot to your channel - now done on the website

Removed:

?join - no longer available
?leave
Deprecated
Removed the bot from your channel - now done on the website

Removed:

?leave - no longer available