> CAP REQ :twitch.tv/commands
< :tmi.twitch.tv CAP * ACK :twitch.tv/commands
Enables USERSTATE, HOSTTARGET and CLEARCHAT raw commands.
Host starts message:
< :tmi.twitch.tv HOSTTARGET #hosting_channel :target_channel [number]
Host stops message:
< :tmi.twitch.tv HOSTTARGET #hosting_channel :- [number]
Number is assumed to be the number of viewers watching the host.
Username is timed out on channel:
< :tmi.twitch.tv CLEARCHAT #channel :username
Chat is cleared on channel:
< :tmi.twitch.tv CLEARCHAT #channel
Use with tags CAP to get anything out of it.
:tmi.twitch.tv USERSTATE #notventic
Adds IRC v3 message tags to PRIVMSG and USERSTATE (if enabled with commands CAP)
Example message:
@color=#1E0ACC;display-name=3ventic;emotes=25:0-4,12-16/1902:6-10;subscriber=0;turbo=1;user-type=mod;user_type=mod :[email protected] PRIVMSG #notventic :Kappa Keepo Kappa
coloris hexadecimal RGB color code, which can be empty if the user never set it.display-nameis the user's display name, escaped as described as described in the IRCv3 specemotescontains information to replace text in the message with the emote images and can be empty. The format is as follows:emote_id:first_index-last_index,another_first-another-last/another_emote_id:first_index-last_indexemote_idis the number to use in this URL:http://static-cdn.jtvnw.net/emoticons/v1/:emote_id/:size(size is 1.0, 2.0 or 3.0)- Emote indexes are simply character indexes.
\000ACTIONdoes not count and indexing starts from the first character that is part of the user's "actual message". In the example message, the first Kappa (emote id 25) is from character 0 (K) to character 4 (a), and the other Kappa is from 12 to 16.
subscriberandturboare either 0 or 1 depending on whether the user has sub or turbo badge or not.user-typeis either empty,mod,global_mod,adminorstaff.
USERSTATE is sent when joining a channel and every time you send a PRIVMSG to a channel. Example:
@color=#1E0ACC;display-name=3ventic;emote-sets=0,12239,2126,237,33,366,4578,469,793,9400;emotesets=0,12239,2126,237,33,366,4578,469,793,9400;subscriber=0;turbo=1;user-type=mod;user_type=mod :tmi.twitch.tv USERSTATE #gophergaming
The tags here work the same as in PRIVMSG, except some are missing.
emote-sets contains your emote set, which you can use to request https://api.twitch.tv/kraken/chat/emoticon_images?emotesets=[straight from the emote-sets tag]. It should not be empty since 0 is the global emotes' emote set.