Message categories
Every message is classified during import. The categories aren't mutually exclusive — a single message can be a question, a mention, and contain duplicate text. The categories appear as counts and percentages on the Overview tab and as filtered grids in Chatter Details.
The seven categories
Commands
A message is a command if its first whitespace-separated token starts with
! followed by a letter. Examples:
!clip— yes!so streamer_name— yes!1— no (digit, not letter)Hey, !drop the link— no (!dropisn't the first token)
Typically used for bot interactions: clip creation, shoutouts, song requests, giveaways.
Questions
A message is a question if it contains a ? anywhere. That's it — no
sentence parsing, no natural-language detection. Simple but reliable for
chat-style writing.
Rhetorical questions and "?" reactions get caught too, which is usually what you want when surfacing audience curiosity.
Mentions
A message is a mention if it contains any @token pattern. The token must
start with @ followed by a username character.
Streamer Tags
A specific subset of mentions: messages containing @streamer_name (where
streamer_name is the channel being analysed, matched case-insensitively).
The streamer name comes from the VOD/URL/file at import time. For Chatterino and CSV imports, fill in the Streamer name field in the import dialog to enable this category.
Emote-only
A message is emote-only if every whitespace-separated token in it is a known emote code. "Known" means it appears in one of the loaded emote sources (Twitch / BTTV / 7TV / FFZ / Kick — see How emotes work).
Examples (assuming all codes are loaded):
LUL— yesLUL KEKW PogU— yesLUL haha KEKW— no (hahaisn't an emote)LUL!— no (LUL!isn't an emote code; the!makes it a new token)
If a channel-specific BTTV / 7TV / FFZ source for the streamer hasn't been added in the Emote Manager, its custom codes won't be recognised — messages using them will be classified as Other instead of Emote-only.
Duplicates
A message is a duplicate if its text closely matches an earlier message in the log. Small differences — typos, extra spaces, varied punctuation — are forgiven so genuine copypasta still gets caught.
Two guards prevent false positives:
- Messages shorter than the Duplicate min words setting are skipped
- Emote-only messages are skipped from duplicate detection
This catches copypasta and spam waves while ignoring the dozens of "LUL" and "yes" you'd otherwise see flagged.
Adjust the similarity threshold and min words in the import dialog.
Other
Everything that didn't match any of the above. Plain conversational messages, mostly.
Where you see the breakdown
- Overview tab — counts and percentages for every category
- Chatter Details → Overview — same breakdown but for selected chatters only
- Chatter Details → Messages / Duplicates / Questions / Streamer Tags — filtered grids showing only messages of one category
Multi-categorisation
A single message like @streamer_name what game is this? KEKW will be counted
in Mentions, Streamer Tags, Questions, and possibly Emote-only
(if what, game, is, and this happen to be emote codes — unlikely, but
this is why the category counts can total above 100%).
This is intentional: it lets you slice the same chat in multiple ways without losing data.