{7tv} / {bttv} / {ffz}
A random 7TV, BetterTTV or FrankerFaceZ emote from your channel - or from any set you point it at.
{7tv} one random 7TV emote from your channel
{7tv.list} every 7TV emote on your channel, space-separated
{7tv.count} how many there are
{bttv} {bttv.list} the same for BetterTTV
{ffz} {ffz.list} the same for FrankerFaceZ
Your channel’s third-party emotes, by name. These are the emotes your viewers installed through the 7TV, BetterTTV or FrankerFaceZ browser extension - the bot just types the word, and anyone with the extension sees the image.
Platforms: {7tv} works in Twitch and Kick chat. {bttv} and
{ffz} are Twitch-only products, so they read blank in Kick chat.
Examples
!hype → {repeat:5|{7tv}}
!emotes → Our 7TV emotes: {7tv.list}
!howmany → We have {7tv.count} 7TV emotes installed.
timer → {7tv} Follow for more {7tv} {7tv}
Choosing where the emote comes from
By default you get your own channel’s set on the platform the message came from. The argument picks something else:
| Argument | Reads |
|---|---|
{7tv} |
Your channel’s set |
{7tv:global} |
The provider’s global set - the emotes everyone has |
{7tv:all} |
Global and your channel together |
{7tv:01F6MZGCNR000255V0F9C6CJT2} |
That 7TV emote set, by its id |
{7tv:somestreamer} |
Another channel’s set, on the same platform as the message |
{7tv:twitch:somestreamer} |
That Twitch channel |
{7tv:kick:some-slug} |
That Kick channel |
{7tv:kick} |
Your own Kick channel (or twitch for your Twitch one) |
All of these work on {bttv} and {ffz} too, except emote set ids -
only 7TV has them.
Emote set ids
A 7TV emote set has its own id, visible in the address bar when you open
the set on 7tv.app - the long string at the end of
7tv.app/emote-sets/…. Pointing a variable at one lets you pull from a
set you haven’t made active on the channel: a seasonal set, a set of
reaction emotes, a set you share with another streamer.
!spooky → {7tv:01H4KPT9CG0007CYWY6R4TNQMW}
If the id is ambiguous with a channel name, write it as
{7tv:set:01H4KPT9CG0007CYWY6R4TNQMW}.
Unlike {emote}, there is nothing to unlock
{emote} reads your Twitch emotes, and
Twitch only draws those if the account sending the message owns them - so
the bot has to be subbed to your channel for sub emotes to show.
Third-party emotes have no such rule. They are ordinary words in the message that the viewer’s extension swaps for an image, so the bot can send any of them. Viewers without the extension just read the word.
Notes
.listis capped at 400 characters so the message still fits.- Emote lists refresh every 10 minutes; global sets every hour.
- If a provider is unreachable, or the channel has no emotes with it, the variable is blank rather than an error - the rest of the message still sends.
- The chat games that spot emote spam (pyramids and combos) already recognise third-party emotes, using the same lists.