=7tv
EveryoneA random 7TV emote from this channel’s set, another channel’s, or the global set. Also the entry point for the =7tv subcommands below, e.g. =7tv add.
=7tv [channel|global]Every command starts with =. <angle brackets> are required, [square brackets] are optional.
Everyone starts at the Everyone level and the broadcaster is always the highest. Twitch moderators stay at Everyone until they’re added as bot mods.
Admins and the broadcaster can change any command with =command <name> level|enable|disable|offlineonly|cooldown.
New lately? See what’s new.
Built into the bot and available in every channel it’s in (unless that channel turned one off).
199 commands
A random 7TV emote from this channel’s set, another channel’s, or the global set. Also the entry point for the =7tv subcommands below, e.g. =7tv add.
=7tv [channel|global]Adds an emote to the channel’s active 7TV set. Exact-name matches win; a link or id picks a specific emote.
=add <emote name|7tv link|id> [alias]Setup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets" (check with =connect)
Without a name, lists your 7TV badges. With a name, equips it on your own 7TV account.
=setbadge [badge name|none]Setup: Add pearsbott as a 7TV editor of your own account with "Manage profile"
Shows a channel’s 7TV account and active emote set, whether the bot is an editor, and how to make it one.
=connect [channel]Copies a 7TV emote set into a new set on the channel’s 7TV account, keeping every emote’s name and zero-width setting. The source can be any set by id or 7tv.app/emote-sets/… link, one of the channel’s own sets by name, or someone’s active set (@user). The new set is named after the old one unless you give a name; switch to it with =useset.
=copyset <set id|7tv link|set name|@user> [new name] · =copyset stopSetup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets"
Deletes one of the channel’s 7TV emote sets. Needs the exact name (see =sets) or the set’s id, and never deletes the active set. A deleted set can’t be brought back.
=deleteset <exact set name|set id>Without a name, lists your 7TV paints. With a name, equips it on your own 7TV account.
=paint [paint name|none]Setup: Add pearsbott as a 7TV editor of your own account with "Manage profile"
A link to someone’s 7TV profile picture (yours without a name), if they uploaded one on 7TV.
=7tvpfp [user]Re-announces your current 7TV paint and badge in this channel, so the chat overlay and 7TV users here show a change you made on 7TV’s site right away (7TV only shares them in a channel after your 7TV client reports you there). =paint and =setbadge do this automatically.
=presenceRemoves an emote from the channel’s active 7TV set.
=remove <emote name|7tv link|id>Setup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets" (check with =connect)
Gives an emote in the channel’s active 7TV set another name (an alias), or with reset (or no new name) puts back its original name. The emote can be its name, a 7TV link or an id.
=alias <emote> <new name> · =alias <emote> resetSetup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets" (check with =connect)
Swaps an emote in the channel’s active 7TV set for another one and keeps the old name, so chat keeps typing the same thing (or give a new name). If adding the new one fails, the old one goes back.
=replace <old emote> <new emote name|7tv link|id> [name]Setup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets" (check with =connect)
Searches 7TV for emotes and shows the top matches with links.
=search <query>Someone’s 7TV emote sets with each set’s id, the active one first (yours if you name no one). Use the ids with =copyset, =useset and =deleteset.
=setids [user]Lists a channel’s 7TV emote sets and which one is active (this channel unless you name one).
=sets [channel]Copies an emote from another streamer’s active 7TV set into this channel’s set.
=steal <emote> <from user> [alias]Setup: The streamer adds pearsbott as a 7TV editor with "Manage emote sets" (check with =connect)
Switches the channel’s active 7TV emote set. Give the set’s name (see =sets), its id, or its 7tv.app/emote-sets/… link. Only the channel’s own sets can be active; copy someone else’s first with =copyset.
=useset <set name|set id|7tv link>Setup: The streamer adds pearsbott as a 7TV editor with "Manage profile"
How many times someone (you by default) used a 7TV emote in this channel, from the last 30 days of chat logs. Works with the channel’s 7TV emotes and the global ones; every use counts, so "KEKW KEKW" is two. =topemotes shows the top 10.
=emotecount [user] <emote>Someone’s (your) 10 most used 7TV emotes in this channel with how many times each, from the last 30 days of chat logs.
=topemotes [user]Who added a 7TV emote to this channel’s sets (or another channel’s) and when, in the channel’s time zone. When pearsbott added it, it names who typed the command. Also says if the emote was taken out again afterwards, and how many times it has been added. From 7TV’s history, which keeps about the last thousand changes.
=whoaddedthisemote <emote or 7tv link> [channel]Who removed a 7TV emote from this channel’s sets (or another channel’s) and when, in the channel’s time zone. When pearsbott removed it, it names who typed the command. Also says whether the emote came back, and how soon. From 7TV’s history, which keeps about the last thousand changes.
=whoremovedthisemote <emote or 7tv link> [channel]Manages admins: almost everything the broadcaster can do, but they can’t manage other admins or remove the bot. Only the broadcaster can add or remove admins.
=admin add|remove <user> · =admin listManages bot moderators. Bot moderators and above can add bot moderators; admins and the broadcaster can remove them (anyone can remove themselves). Listing is open to everyone.
=botmod add|remove <user> · =botmod listShows who can use a command in this channel (Everyone, Bot mods and up, Admins and up, or the broadcaster only) and whether you can, plus its cooldown and whether it is turned off. Works for built-in and custom commands: =cmdlevel so. Admins can add a level to change it, like =setlevel: =cmdlevel so admin.
=cmdlevel <command>Changes how a command works in this channel, built-in or custom. You can’t raise a command above your own level or change one that’s above you. Custom commands support level, enable, disable, mode and info.
=command <name> level <viewer|botmod|admin|broadcaster> · enable|disable · mode offline|online|both · cooldown <seconds> · reset · infoTurns a command off in this channel, built-in or custom. Nobody can use it until it’s enabled again.
=disable <command>Turns a command back on in this channel, built-in or custom.
=enable <command>Shows someone’s access level in this channel.
=level [user]Sets who can use a command in this channel, built-in or custom, e.g. =setlevel 7tvadd admin. You can’t raise a command above your own level or change one that’s above you. Same as =command <name> level <level>.
=setlevel <command> <everyone|botmod|admin|broadcaster>Sets when a command works in this channel, built-in or custom: only while the stream is offline, only while it’s live, or both, e.g. =setmode vanity both. You can’t change a command that’s above your level. Same as =command <name> mode <mode>.
=setmode <command> <offline|online|both>Gives someone the admin or bot moderator role, or takes it away (none). Broadcaster only by default; the broadcaster can lower its level (=setlevel setrole admin), but people below the broadcaster can only give or take roles below their own. The bot owner can use it in any channel.
=setrole <user> <admin|botmod|none> [channel]What you can get right now and how: this month’s 7TV subscriber paints, 7TV’s running gift campaign and its rewards, badges in the 7TV shop with 7TV’s prices (=activedrops shop), and Twitch badges that appeared lately with a link to BadgeBase’s list of active ones. pearsbott isn’t affiliated with 7TV, Twitch or BadgeBase.
=activedrops [7tv|shop|twitch|games]Links to someone’s badge count on badgebase.de.
=badgecount [user]What a global Twitch badge is and how it was earned, with a BadgeBase link.
=badgeinfo <badge name>Links to someone’s badge count, level and worldwide rank on badgebase.de.
=badgerank [user]Badges someone is wearing on Twitch and on 7TV/FFZ/Chatterino.
=badges [user]Links to the top badge collectors worldwide on the badgebase.de leaderboard.
=badgetopPosts new drops in this channel as they appear, one short line each with a link to its picture and how to get it (viewers who used =pingme get an @): =dropalerts paints both, =dropalerts twitch offline, =dropalerts all off. Pick live, offline or both for each kind. Without arguments, shows what’s on. Name the drops in plain words, one or several at once (=dropalerts 7tv paints, =dropalerts twitch badges and channel badges, =dropalerts all); with no mode it posts live and offline.
=dropalerts [which drops] [both|live|offline|off]Links to the newest and upcoming Twitch badges on badgebase.de.
=newbadgesNew 7TV paints and badges, new Twitch global badges, and new sub/bits badges in channels pearsbott is in, from the last 14 days, with how to get each one. Every drop also has a page with its picture on the website (/drops). The bot checks Twitch global badges every 2 minutes, 7TV every 5 and channel badges every 10.
=newdrops [paints|7tvbadges|twitch|channel]Get an @ in this channel’s alert when a new drop of that kind is posted here (=pingme twitch, =pingme all). Type it again, or add off, to stop. Without a kind, shows yours. Works where a mod turned on =dropalerts for that kind.
=pingme [<paints|7tvbadges|twitch|channel|all>] [off]Games running Twitch Drops right now, or one game’s rewards: how long to watch, which streams count and when it ends (=twitchdrops warframe). Your own progress is on Twitch’s inventory page, which it links. The list comes from a public drops tracker.
=twitchdrops [game]Sums up a user’s chat look (name color, Twitch badge, 7TV paint and badge, FFZ/Chatterino badges) and links ZonianMidian’s Vanity Tester to preview every cosmetic they own.
=vanity <user>Tells pearsbott’s AI your community’s inside jokes and bits (what chat calls you, running gags), up to 300 characters, so its answers feel at home here. Without text it shows the current lore.
=ailore [text] · =ailore clearShows pearsbott’s personality, the same in every channel: a character type (tsundere, kuudere, dandere, deredere, himedere, chillguy, goldenretriever, sage, grump), tone, humor, length and a quirk. It grows on its own: every so often the AI reflects on its recent chats and updates a short note about who it is (interests, running jokes, opinions), never about viewers. The streamer or their admins can turn it off in their channel (=aipersonality off) for the plain default self. Only the bot owner changes the base or resets it.
=aipersonality · =aipersonality off|on (streamer) · owner: type|tone|humor|length <choice> · quirk <text> · grow · resetAsks the bot’s AI a question and gets a short answer. You can also @ the bot or reply to one of its messages. Turn it off in a channel with =disable ask.
=ask <question> · @pearsbott <question>Lets pearsbott answer a question in chat that wasn’t asked to it, only when it can really help (the stream, its game, song, rank, the time, commands, emotes, drops), at most once every 3 minutes. Off unless turned on.
=autoreply [on|off]Whether streamer alerts are on: when a channel pearsbott is in, or a partner or affiliate who streamed in the last month, is banned, unbanned, or closes or deletes their account, pearsbott posts it in pearxs’s and pearsbott’s chats only. Each kind has its own switch, plus one for all of them. Only the bot owner can switch them.
=banalerts [bans|unbans|deletions] [on|off]About the bot and its website.
=botReport a bug: something that broke, answered wrong or didn’t work. It goes to the bot owner with the suggestions (tagged Bug) and is public at /suggestions, where you can follow its status. Works in whispers.
=bug <what went wrong>After =forgetme: starts fresh with a clean slate, so the bot logs and counts your messages again (for =logs, =topchatters and =device). Nothing from before comes back.
=comebackLink to this channel’s commands on the website: built-in (global) and custom.
=commandsDeletes everything the bot has stored about you: your chat logs, any chatter record, your =topchatters counts and your suggestions. After that the bot saves nothing new about you until you type =comeback. Commands keep working.
=forgetmeAsks for pearsbott in your own channel (it is invite-only): =join sends a request, and once it is approved the bot joins your chat on its own.
=join (in pearsbott’s chat)Everything pearsbott has saved about you (chat log lines, message counts, pear points, saved city and time zone, reminders, drop pings, permissions) and how to delete it. In chat it shows counts only; whisper it to see your saved city and time zone named.
=mydataRemoves the bot from your channel. Only the broadcaster can do this (or type it in pearsbott’s chat).
=partSuggest a feature or report a bug. Only you and the bot owner can see yours, on the website’s Suggestions page, where the owner marks each one accepted, in progress, done or denied. list shows yours, a number checks one, cancel withdraws one of yours while it’s pending.
=suggest <your idea> · =suggest list · =suggest <number> · =suggest cancel <number>Adds a custom command that everyone can use (change who with =command <name> level). Responses can use variables like ${user}, ${count}, ${viewers}, ${uptime} and ${random 1-100}; the full list is on the commands page.
=addcmd <name> <response>Sends a highlighted chat announcement.
=announce <text>Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Messages the bot posts on its own. Each waits for a time (15m, 1h), a number of chat lines (30lines), or both, and can be limited to live or offline. When several are due, the longest-waiting goes first, with at least a minute between any two. Add announce to post it highlighted. Also: =automsg list, show, test, edit, on, off, remove <name>. Messages can use {channel} and the custom command variables.
=automsg add <name> [15m] [30lines] [live|offline|both] [announce] <message>Has the bot ban someone from this chat, with an optional reason. You can only ban people below your own bot level, and never the streamer or the bot. =unban undoes it.
=ban <user> [reason]Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Words or phrases the bot will never say or save in this channel, on top of its built-in slur filter (many languages). The list itself is only shown on the dashboard, never in chat.
=blockword add <word or phrase> · =blockword remove <word or phrase> · =blockword listOnly the broadcaster: make this channel’s replies a language for everyone who hasn’t picked their own. Otherwise =setlanguage only ever changes the language for the person who sets it. =botlanguage clear goes back to English.
=botlanguage <language> | clearHow many people are in chat right now, split into mods, VIPs, bots and viewers, with a link to the names (for the channel’s streamer, bot mods and admins). Here or in another channel where the bot is a moderator.
=chatters [channel]Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Clears the whole chat, like a moderator typing /clear. Admins and the broadcaster by default (change it with =setlevel clear botmod).
=clearSetup: Make the bot a Twitch mod in your channel: /mod pearsbott
Clips the stream and posts the link, all in one go: =clip 45 that clutch makes a 45-second clip titled “that clutch”. Length is 5 to 60 seconds (30 if you leave it out), ending about now. Works while the channel is live with clips turned on; if clips are limited to followers or subscribers, pearsbott has to meet that too.
=clip [seconds] [title]Lists this channel’s custom commands, or another channel’s that uses the bot.
=cmds [channel]Shows a custom command’s response as written (variables included), who can use it and how often it’s been used. For built-in commands, shows what they do.
=show <command>Shows your (or someone’s) current Twitch name color as a hex code, with its name if it’s a standard Twitch color. To change yours, use =setcolor.
=color [user]Changes your own Twitch name color after every message you send in a channel pearsbott is in, going through a color set: rainbow, longrainbow, pastels, longpastels, neon, ocean, halloween and more (=colorcycle sets, or every color on the website’s Color sets page). All sets but twitch need Turbo or Prime. Works by whisper too. Uses the same one-time permission as =setcolor; =colorcycle off stops it.
=colorcycle <set|random> | offDeletes a custom command.
=delcmd <name>Changes a custom command’s response.
=editcmd <name> <response>Finds a clip by words in its title: in this channel or another (=findclip xqc jump scare, searching its 500 most viewed clips), or across Twitch with all (=findclip all clutch, searching thousands of popular clips from the top categories and biggest live channels).
=findclip [channel|all] <words>Follower count of this channel or any other, with a link to the full list on the website for channels the bot is in.
=followers [channel]How many founders (first subscribers with the Founder badge) a channel has, how many are still subscribed and in chat, how many of its founder spots are still open (10 for Affiliates, 25 for Partners), the newest one, and a link to the full list.
=founders [channel]Shows the category here, or of any channel.
=game [channel]This channel’s own =setgame shortcuts: =gameshortcut add bf Battlefield 6, then =setgame bf. They win over the built-in ones. =gameshortcut list shows the channel’s, and =gameshortcut list global links the full built-in list (also below).
=gameshortcut add <short> <category> | remove <short> | list [global]When a channel last streamed: how long ago, how long it lasted (if they keep past broadcasts), the games played (every one, for channels pearsbott is in; otherwise the last category) and its title. If they’re live now, it says so.
=lastlive [channel]Deletes links from viewers (bot moderators, admins, Twitch mods and VIPs are allowed).
=linkfilter on|offSetup: Make the bot a Twitch mod in your channel: /mod pearsbott
Posts in chat when the stream goes live (with the title and game, and an @ for everyone who used =notifylive) and when it ends (with how long it lasted). Off until turned on.
=livealerts [on|off]Link to this channel’s chat logs from the last 30 days, optionally for one person. Deleted messages and timed-out users are removed. Admins can turn logging off.
=logs [user] · =logs on|off (admins)Pings everyone in chat with an @, with an optional message first (=massping stream starting!). Uses Twitch’s viewer list where the bot is a mod, otherwise people who chatted in the last 3 hours. To stay within Twitch’s spam rules it runs at most once every 5 minutes per channel and pings up to 150 people, and leaves out bots and people who used =forgetme.
=massping [message]Makes someone a Twitch moderator in this channel (a VIP loses VIP first, as Twitch requires). The streamer allows it once on the website. You can also ask the AI: @pearsbott give user mod.
=mod <user>How long someone has been a mod in this chat (or the channel you name), with the date. Add everywhere to see every channel pearsbott is in where they mod, longest first. Whispered with just a name, it searches everywhere.
=modage [user] [channel | everywhere]How many moderators a channel has (this channel unless you name one), how many are in chat right now, the newest one, and a link to the full list with bots and who’s in chat marked.
=mods [channel]Marks a chatter as monitored with Twitch’s suspicious-user tools, so mods see their messages flagged. With no name, the most recent suspicious chatter here. The bot needs to be a mod.
=monitor [user]Get an @ in this chat when a streamer goes live: any Twitch streamer (=notifylive devowhipsit), or this channel’s streamer if you don’t name one. Add off to stop (=notifylive devowhipsit off), list to see yours. Up to 20. =forgetme removes them.
=notifylive [streamer] [off] · =notifylive listLets a user post links for the next 60 seconds.
=permit <user>A link to someone’s Twitch profile picture (yours without a name).
=pfp [user]Pins a message to the top of chat for 30-1800 seconds (default: until the stream ends). =pin <text> posts the text as the bot and pins it, then removes your =pin message so it only shows once. Replying to any message with =pin pins that message instead.
=pin <text> [-d seconds] or reply to a message with =pinSetup: Make the bot a Twitch mod in your channel: /mod pearsbott
Pings one person with an @, with an optional message: =pinguser user you’re up next.
=pinguser <user> [message]Shows the message pinned in this chat, or in another channel’s chat, with who pinned it and for how much longer. Twitch only shows pins to a channel’s moderators, so it works where pearsbott is a mod.
=pinned [channel]Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Starts a Twitch poll with 2–5 options (default 2 minutes, up to 30): =poll 2m Best snack? | Chips | Fruit. =poll shows the results, =poll end ends it and shows the results on stream, =poll cancel (or delete) removes it.
=poll [time] <title> | <option> | <option>… · end · cancelSetup: The streamer allows it once on the website (Add bot), and the channel is Affiliate or Partner
Starts a Twitch prediction with 2–10 outcomes (voting closes after 2 minutes by default, up to 30): =prediction 2m Will we win? | Yes | No. Then =prediction lock, =prediction win <number> (or pick/select/payout option 1) to pay out the winners, or =prediction cancel (or refund) to give everyone their points back. =prediction shows the current one.
=prediction [time] <title> | <outcome> | <outcome>… · lock · win <number> · cancel (refunds everyone)Setup: The streamer allows it once on the website (Add bot), and the channel is Affiliate or Partner
A random popular clip from this channel or any other, or from a game across all channels (=randomclip game minecraft). Picks from the most viewed clips of all time and of the past month.
=randomclip [channel] · =randomclip game <game>A random hex color with its name, like "Flush Orange (#FF7F00)", and a link to see it. Try it on your name with =setcolor (hex colors need Turbo or Prime).
=randomcolorAccepts or refunds channel point redeems waiting in the reward queue: the oldest one, someone’s (@user), or all of them. =redeem shows how many are waiting. Twitch only lets the bot handle rewards it made itself (=reward create); redeems of rewards made on the Twitch dashboard are handled there.
=redeem accept|refund <reward name> [@user|all]Setup: The streamer allows it once on the website (Add bot), and the channel is Affiliate or Partner
Marks a chatter as restricted with Twitch’s suspicious-user tools: only mods see their messages. With no name, the most recent suspicious chatter here. The bot needs to be a mod.
=restrict [user]Channel point rewards. =reward lists them (and which ones the bot made); =reward create 500 Hydrate makes one whose redeems wait in the queue for =redeem; =reward delete removes one the bot made.
=reward [list] | create <cost> <title> | delete <title>Setup: The streamer allows it once on the website (Add bot), and the channel is Affiliate or Partner
Changes your own Twitch name color: a Twitch color name (blue, hot pink, sea green…) or, with Turbo or Prime, any #hex. =setcolor random picks one for you (a random #hex, or a random Twitch color without Turbo or Prime). Without a color, shows yours with its hex code (=color does too). The first time, you allow it once on the website.
=setcolor <name|#hex|random>Changes the stream category. Shortcuts work for the big categories (=setgame jc or j for Just Chatting, gta, val, lol, mc, fn, cs, apex, ow, wz, rl, irl, music, art, slots…) and any the channel adds with =gameshortcut. A shortcut also works on its own: =cs is =setgame cs (unless a command or custom command already has that name, like =slots).
=setgame <category or shortcut>Setup: The streamer presses "Add bot" on the website once
Sets this channel’s time zone (EST, CET, UTC+2…) for =time and the ${time} variable.
=settimezone <time zone> · =settimezone clearChanges the stream title.
=settitle <title>Setup: The streamer presses "Add bot" on the website once
Makes a short name for a command in this channel, e.g. =shortcut add sg setgame, then =sg Minecraft runs =setgame Minecraft. It can include words too (=shortcut add fa followage someuser). A shortcut follows the command’s own level and settings.
=shortcut add <name> <command> [words] · =shortcut remove <name> · =shortcut listSends a Twitch shoutout (when live) plus a chat message with their last category.
=so <user>Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Someone’s subscription to a channel (you and this channel by default): tier, paid, gift or Prime, who gifted it, when it renews or ends, days left in the current month, total months and streak, or when a past sub ended. Works for any channel. People who hide their sub status stay hidden. Data from ivr.fi.
=subage [user] [channel]Subscriber count and sub points of this channel (or another channel that allowed it), with a link to the full list on the website. Twitch only shares this with the streamer, so they allow it once on the website.
=subscribers [channel]Setup: The streamer allows it once on the website (Add bot)
Shows the stream title here, or of any channel.
=title [channel]Who sent the most messages in this channel (or another one the bot is in): today, this week, month or year (in the channel’s time zone), or all time. Known bots are left out.
=topchatters [today|week|month|year|alltime] [channel]Has the bot unban someone (also ends a timeout).
=unban <user>Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Takes Twitch moderator away from someone in this channel. The streamer allows it once on the website.
=unmod <user>Unpins the message the bot last pinned.
=unpinSetup: Make the bot a Twitch mod in your channel: /mod pearsbott
Clears Twitch’s restricted or monitored status from a chatter. With no name, the most recent suspicious chatter here (@pearsbott unrestrict the suspicious user). The bot needs to be a mod.
=unrestrict [user]Takes VIP away from someone in this channel. The streamer allows it once on the website.
=unvip <user>Makes someone a VIP in this channel. The streamer allows it once on the website. You can also ask the AI: @pearsbott give user VIP.
=vip <user>How long someone has been a VIP in this chat (or the channel you name), with the date. Add everywhere to see every channel pearsbott is in where they are a VIP, longest first.
=vipage [user] [channel | everywhere]How many VIPs a channel has (this channel unless you name one), how many are in chat right now, the newest one, and a link to the full list with bots and who’s in chat marked.
=vips [channel]Clash Royale for this channel. =cr shows what is set up. The streamer turns the Clash Royale commands on or off (=cr on / =cr off), turns title updates on or off (=cr title on / off: the bot adds the ranked medals and rank after the title and keeps them current), and links accounts by player tag, RoyaleAPI link or Clash Royale name (=cr link #2PP main). Everything starts off. All of it is also on the website’s Clash Royale page. Data: Supercell’s official API through RoyaleAPI; unofficial, not endorsed by Supercell.
=cr · =cr on|off · =cr title on|off · =cr title accounts 1|2|3 · =cr link <tag> [label] · =cr unlink <tag>The streamer’s Clash Royale profile badges: Years Played, Battle Wins, Challenge runs, top 1,000 finishes, CRL badges and how many card masteries are maxed.
=crbadges [account]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
The streamer’s clan (or any clan by tag): members, clan score, war trophies, required trophies and its RoyaleAPI page.
=crclan [#clan tag]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
The current deck of the streamer (or any #tag): the eight cards, average elixir, a link to copy it into the game, and its stats on RoyaleAPI.
=crdeck [account label|#tag]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
Every Clash Royale command and how to use it, in one message (like =sports), with a link to the full details.
=crhelpClash Royale facts in one message: how each profile badge is earned, chest types and their history, Lucky Chests, Challenges, Global and private tournaments, Ranked, Clan Wars, Pass Royale and the CRL (format and every World Champion). =crinfo on its own lists the topics. From the Clash Royale Wiki.
=crinfo <topic>The streamer’s last battle: win or loss, crowns, how long ago, and the deck they played against.
=crlast [account label]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
The streamer’s matchup against a deck, using their own latest deck automatically: win rate, wins and losses and W/L ratio with that deck and with any deck, from the last 14 days. Leave it empty for their last opponent, give an opponent’s #tag or "vs name" to use that player’s current deck, name a deck (=crodds hog 2.6, =crodds icebow, =crodds log bait) or a few key cards (=crodds pekka, miner), or paste a full deck link. Put an account’s label or number first to check another linked account (=crodds alt hog rider).
=crodds [account] [their deck | #tag | vs name]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
Looks up any Clash Royale player by tag: level, ranked standing, trophies and best, wins, clan and favourite card, with their RoyaleAPI page.
=crplayer <#tag or RoyaleAPI link>Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
Wins and losses in ranked and ladder today (in the channel’s time zone) and this stream, with the medal or trophy change.
=crrecord [account label]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
The streamer’s ranked standing: medals and world rank in the top league (or their Path of Legends league), trophies, clan, and a RoyaleAPI link. With several accounts, add a label or number (=crstats alt). Any #tag works too.
=crstats [account label|#tag]Setup: The streamer turns Clash Royale on (=cr on, or the website) and links an account
Ask the magic pear.
=8ball <question>When a Twitch account was created.
=accountage [user]The overall weather across a state, province or country: the temperature range across it right now, what most of it has, and each coming day’s lows and highs. Nothing is saved. Data: Open-Meteo and OpenStreetMap.
=areaweather <state or country>Heads or tails.
=coinflipGuesses which app someone sent their last message from: twitch.tv in a browser, the Twitch mobile app (iPhone/iPad when it can tell), or a 3rd-party chat app (like Chatterino). Twitch doesn’t say, so it reads the clues each app leaves; only messages since the bot last restarted count.
=device [user]How repetitive someone is in this channel (or every channel with "all"), from the last 30 days of chat logs: how many of their messages repeat one they already sent, their most repeated messages, and their longest run of the same message in a row. Capitals, spacing and the invisible characters used to dodge Twitch’s duplicate filter don’t make a message different.
=duplicatemessage [user] [all]Repeats your text. Add a number at the end to send it that many times: =echo W 5. Add max to fill each message to the 500-character limit: =echo a max 5. Up to 100 where the bot is a mod, sent all at once (or the rest a few seconds later if the 30-second limit is partly used); up to 10, about one a second, elsewhere.
=echo <text> [max] [times]How long a user has followed this channel, or another one (=followage user channel). Twitch only shows follows to moderators, so the bot must be a mod in that channel.
=followage [user] [channel]Setup: Make the bot a Twitch mod in your channel: /mod pearsbott
Links the command list, or shows details about one command.
=help [command]Whether a Twitch account is banned from Twitch (suspended), and the kind of ban: Terms of Service (temporary or indefinite), DMCA, or deactivated. Twitch never says which rule was broken. Data: ivr.fi.
=isbanned <user>Someone’s last chat message in a channel pearsbott is in, with when and where (channels that keep logs, last 30 days). People who used =forgetme aren’t found.
=lastmessage [user]When and in which channel pearsbott last saw someone chat, and what they said (channels it’s in that keep logs, last 30 days). People who used =forgetme aren’t found.
=lastseen [user]How many channels someone moderates, how many followers those channels have combined, the biggest ones, and their roles.tv profile (data from roles.tv by ZonianMidian).
=modlist [user]The birthday you saved with =setbirthday (the date only shows in a whisper).
=mybirthdayHow long you’ve followed any channel on Twitch, even where pearsbott isn’t a mod. Twitch only shares that with you (or the channel’s mods), so the very first time the bot whispers you a one-time permission link; after that it answers right in chat. =forgetme cancels it.
=myfollowage <channel>The time where you are, from the time zone you saved with =setmytimezone. Works in chat and in a whisper to the bot (whispering =time does the same).
=mytimeThe weather now and for the next six days where you saved: your city (=setmycity), or the overall weather across your state or country (=setmyregion). Works in a whisper to the bot, where it names the place; in chat it just says “your city” or “your area”.
=myweatherOther names pearsbott has seen an account use in the chats it’s in, from the last 30 days of chat (works with an old name too). Only what pearsbott saw itself; people who used =forgetme are never shown.
=namechanges [user]Whether a Twitch username is free to take. If not, says why: an active account has it, a suspended account has it (with the kind of ban), the owner closed the account, or the name breaks Twitch’s rules. A name no account uses is probably available; Twitch also holds names from recently renamed or deleted accounts for about 6 months, which only shows when you try it. Data: ivr.fi.
=namecheck <username>How many commands were added in the last two weeks, with a link to see them (they also carry a New tag on the command list).
=newcommandsChecks the bot is alive and shows its uptime and API latency.
=pingLeaves a reminder for someone (or yourself): the bot posts it, with who left it and how long ago, the next time they chat in this channel. Up to 5 waiting per person and 20 in all; unread ones are dropped after 60 days.
=remind <user|me> <message> · =remind list · =remind cancel <user|all>How many channels someone moderates, is a VIP or a founder in, with a link to their full list (data from roles.tv by ZonianMidian).
=roles [user]Rolls dice, e.g. =roll 2d20.
=roll [NdM]Save your birthday (month and day, never the year) and pearsbott whispers you a kind message on the day, after 9am in your =setmytimezone zone (or US Eastern). Nobody else can look it up. Whisper it to keep it private; =forgetme removes it.
=setbirthday <month day> | clearThe language pearsbott answers you in, in every channel and in whispers: command replies are translated (names, links and commands stay as they are) and AI answers are written in it. Uses the free translator, so on a very busy day replies can fall back to English. =setlanguage clear goes back to English.
=setlanguage <language> | clearLinks your own Last.fm account so =song can show what you’re listening to. Off unlinks it.
=setlastfm <your Last.fm username> · =setlastfm offSaves your city for =myweather (whisper it to keep it private). Only the city is kept, never an address. If you have no time zone saved, the city’s becomes yours for =mytime. =forgetme removes it.
=setmycity <city> · =setmycity clearFor when you’d rather not name your city: saves your state, province or country instead, and =myweather then shows the overall weather across it. Only the area’s name is kept. Whisper it to keep it private. Replaces a saved city; =forgetme removes it.
=setmyregion <state or country> · =setmyregion clearSaves your own time zone (EST, CET, UTC+2, America/Chicago…) for =mytime. Works in a whisper too. =forgetme removes it.
=setmytimezone <time zone> · =setmytimezone clearWhat you’re listening to right now (or your last song), with how many times you’ve played it, from your own Last.fm. Name someone to see theirs, like the streamer’s for the song on stream. Works with Spotify, Apple Music, YouTube Music and anything else linked to Last.fm.
=song [user]The streamer’s weather now and for the coming days, if they chose to share it (=weatherpublic on).
=streamweatherThe time in this channel’s time zone, or in any other: an abbreviation (=time PST, =time CET, =time JST), a UTC offset (=time UTC+2, =time UTC+5:30) or a full zone name (=time America/Chicago). Daylight saving is handled automatically.
=time [time zone]Shows this channel’s time zone, or what an abbreviation like CET stands for and its current UTC offset.
=timezone [time zone]Translates text (into English unless you pick a language with to:). The source language is detected automatically. Translations by MyMemory.
=translate [to:<language>] [from:<language>] <text> · or reply to a message with =translate [to:<language>]How long a stream has been live.
=uptime [channel]Everything public about a Twitch account: id, every role (Staff, Partner, Affiliate, Verified Bot, and moderator, VIP or pearsbott role in this channel), whether it’s suspended, team, followers, chatters, name color, emote prefix, the badge it shows, live status or last stream, bio, and when it was made and last updated. Works for suspended accounts too. Data: ivr.fi and Twitch.
=user [user]How many people are watching a stream right now. Where the bot is a moderator, also who’s in chat: mods, VIPs, bots and viewers, with a link to the names (for the channel’s streamer, bot mods and admins).
=viewers [channel]How many channels someone is a VIP in, how many followers those channels have combined, the biggest ones, and their roles.tv profile (data from roles.tv by ZonianMidian).
=viplist [user]The weather anywhere right now (temperature, conditions, feels like, humidity, wind) and the next six days’ highs, lows, conditions and chance of rain. °F for US cities, °C elsewhere. With nothing after it, your saved city (=setmycity). Open-Meteo data.
=weather [city]For streamers: show your saved city (or state/country) in chat. =myweather then names it in chat, and your viewers can check your weather with =streamweather. Off by default; =weatherpublic off makes it private again. The bot owner can also switch it for a streamer.
=weatherpublic on|offHow many updates pearsbott and its website got in the last 24 hours (or the date of the latest one), with a link to the full list.
=whatsnewA ready-to-use chat overlay link for OBS, Streamlabs, Meld, XSplit and any other browser source. nobots hides bot replies, nocommands hides !/. command messages, hide: hides specific users.
=overlay [channel] [nobots] [nocommands] [hide:user1,user2]Accepts a pear duel someone challenged you to.
=acceptSetup: Pears are on in the channel (=pearsettings on)
Gives someone pears, e.g. for a tip on StreamElements, Streamlabs or Ko-fi, which the bot can’t see. =addpears all 500 gives 500 to everyone who has pears in this channel.
=addpears <user|all> <amount>Setup: Pears are on in the channel (=pearsettings on)
Answers the running =peartrivia question (typing the answer in chat works too).
=answer <guess>Stops the running pear raffle. Nobody wins and no pears are given. Same as =raffle cancel.
=cancelraffleSetup: Pears are on in the channel (=pearsettings on)
Turns down a pear duel.
=denySetup: Pears are on in the channel (=pearsettings on)
Challenges someone to a pear duel. They type =accept (or =deny) within a minute; one of you, picked at random, takes both bets.
=duel <user> <amount>Setup: Pears are on in the channel (=pearsettings on)
Enters the running pear raffle. Free, once per raffle.
=enterSetup: Pears are on in the channel (=pearsettings on)
Shake the pear tree with a bet. Roll 1–100: 1–55 lose it, 56–92 win your bet, 93–99 win double, 100 is the golden pear (4× winnings). Even odds on average. Free points only.
=gamble <amount|all|half|10%>Setup: Pears are on in the channel (=pearsettings on)
Gives some of your pears to someone else in this channel.
=givepears <user> <amount>Setup: Pears are on in the channel (=pearsettings on)
During =peartrivia: shows one more letter of the answer. Each hint takes a quarter off the prize (down to a quarter of it), and the last letter is never given away.
=hintYour pear balance in this channel and your rank. Pears are free points earned by watching and chatting while live and for follows, subs, cheers, raids and charity donations. They have no money value.
=mypears [user]Setup: Pears are on in the channel (=pearsettings on)
Turns pears on or off in this channel and sets how many are earned for watching, chatting, follows, subs, resubs, gifts, cheers, raids and charity donations, plus bet limits and whether the games are on. Off until turned on.
=pearsettings [on|off|reset|<setting> <amount>]Asks a pear trivia question. The first person to type the right answer in chat wins: easy questions give 20 seconds and 25 pears, medium 30 seconds and 50 pears, hard 45 seconds and 100 pears (=hint shows letters of the answer, for fewer pears). Pears only where they’re on; elsewhere it’s for bragging rights.
=peartriviaStarts a free pear raffle: viewers type =enter, and when time is up (default 60 seconds) the pears go to the winner, or are split between several. Raffles only ever give pears.
=raffle <pears> [seconds] [winners] | cancelSetup: Pears are on in the channel (=pearsettings on)
Takes pears away from someone.
=removepears <user> <amount|all>Setup: Pears are on in the channel (=pearsettings on)
Sets someone’s pear balance to exactly that amount (0 empties it). =setpears all 1000 sets everyone who has pears in this channel to 1,000.
=setpears <user|all> <amount>Setup: Pears are on in the channel (=pearsettings on)
Three reels of fruit: 🍐🍐🍐 pays 25×, three of a kind 8×, two pears 3×, a pair 1.5×, one pear gives your bet back, and a 🐛 anywhere loses. Free points only.
=slots <amount>Setup: Pears are on in the channel (=pearsettings on)
The top 10 pear holders in this channel, with a link to the full leaderboard on the website.
=toppearsSetup: Pears are on in the channel (=pearsettings on)
Finds any league worldwide and its id, for use with =scores, =schedule and =standings.
=leagues <country|sport|name>Player info with this season’s stats (MLB) or bio (NBA, NFL). Add the league for shared names, e.g. =player josh allen nfl.
=player <name> [league]Upcoming games for a league or team.
=schedule <league|team>Recent results for a league (nfl, nba, mlb, wnba, epl, laliga, ucl…) or a team.
=scores <league|team> [YYYY-MM-DD]Sports help and the list of league shortcuts.
=sportsLeague table or top teams (division or conference leaders, soccer tables).
=standings <league>Team record with its last and next game. Add the league for shared names, e.g. =team giants nfl.
=team <name> [league]Each channel makes its own with =addcmd <name> <response> or on the dashboard, so they’re listed per channel. In any chat with the bot, =commands links straight to that channel’s list.
Custom command responses can include these, and the bot fills them in each time. For example, =addcmd hype ${user} brought the hype! ${viewers} people are watching.
| Variable | Becomes |
|---|---|
${user} | Who used the command. |
${touser} | The first word after the command (without @), or whoever used it. |
${channel} | The channel name. |
${count} | How many times this command has been used, counting this time. |
${viewers} | How many people are watching right now (0 when offline). |
${followers} | The channel’s follower count. |
${uptime} | How long the stream has been live, or “offline”. |
${game} | The current category. |
${title} | The current stream title. |
${time} | The time in the channel’s time zone (set with =settimezone). |
${random 1-100} | A random whole number in a range you choose. |
${1} ${2} … | The 1st, 2nd … word typed after the command (empty if missing). |
${args} | Everything typed after the command. |