Chat Overlay
Shows your platforms' chat in your overlay, with emotes, badges and what each platform adds to it: Twitch announcements, channel points, Bits, shared chat and power-ups; YouTube Super Chats, Super Stickers and Jewels; Kick channel points and Kicks. When you stream on several platforms at once, its chat relay can also forward each message to your other chats, so your viewers can talk to each other.
Platforms: Twitch, YouTube, Kick
Action pack: not needed for the chat itself. The chat relay and Show / Hide need Stream UI - Backend (it saves the pause, and whether the chat is shown), shared chat messages Stream UI - Get Profile Pic (the other channel's picture), and the other manual controls Stream UI - Broadcast. See Who needs what.
The page
The widget's page works like a small app:
- Settings, Style and Controls, the tabs over the editor, switch what it shows.
- On the Settings tab, the column on the left lists its sections — Chat relay (its on/off switch on its row), Display settings and Platform options. Click one to edit it in the main area. Platform options opens a column of its own: one row per platform.
- On the Controls tab, the column lists the controls — Show, Hide, Clear chat, Pause chat relay, Resume chat relay — with their triggers beside them, and the main area has their buttons → Controls.
- Widget preview, the panel against the window's right edge: the preview, the test buttons and the widget's own URL. The arrow at the top folds it to a slim rail. Drag its left edge to widen it, up to half the window; it keeps its width. Widget shows the widget in its position, cut from the canvas as your browser source draws it; On canvas, the whole canvas.
Settings
Chat relay
The relay forwards each message, so your viewers talk together across platforms: a message written on Twitch is posted in your YouTube and Kick chats, and so on. Your own accounts, ignored users and commands ("!…") are never forwarded. The switch on its row turns the relay on (off by default).
Chat message
| Setting | Default | Detail |
|---|---|---|
| Forwarded message template | 📺 {platform} | 👤 {user} | 🗨️ "{message}" | What is posted on the other platforms. Variables: {platform}, {user}, {message}. |
| Send as bot | on | Posts with the platform's bot account, where one is connected in Streamer.Bot; otherwise with the broadcaster account. |
- Where messages go: every other platform switched on in the Connection page with an account connected in Streamer.Bot. YouTube reports no bot account, so it posts as you.
- Emote-only messages are never forwarded: emotes would arrive as plain codes on the other platforms.
- Only the overlay that runs the actions forwards, even when it does not show the chat. Other overlays, single-widget URLs and the preview on the website never forward, so a message is never posted twice. → Which overlay runs the actions
- No echo. The broadcaster and bot accounts connected in Streamer.Bot are always left out, so a forwarded message never bounces back.
- Sending messages needs the Streamer.Bot password → Connection.
Display settings
Message settings
| Setting | Default | Detail |
|---|---|---|
| Messages orientation | Horizontal | Stack messages horizontally or vertically. Horizontal: a full-width bar along the top or bottom of each overlay. Vertical: a column in one of the nine positions. |
| Message direction | Left / Up | Where messages travel. In a bar: Left (new messages come in on the right) or Right (they come in on the left). In a column: Up (new messages at the bottom) or Down (new messages at the top). Each orientation keeps its own choice. |
| Messages on screen | 8 | How many messages are shown at once, from 1 to 30. Pinned messages count too. |
| Hide messages after | 30 s | How long a message stays, from 0 to 300 s. 0 keeps messages until they are pushed out. |
| Show emotes | on | Off: emotes (and Twitch chat gifs) are left out of messages; a message of emotes only is not shown. |
| Hide commands | off | Hides messages starting with !. |
Sender settings
| Setting | Default | Detail |
|---|---|---|
| Inherit colour from platform | on | Their Twitch or Kick colour instead of the username style's. |
| Username inside bubble | off | Puts the name inside the message's background instead of above it. |
| Show platform icon | on | Each message's platform icon beside the username. |
| Icon side | Right | Beside it, while it is on: the icon left or right of the username, whatever the Container's alignment. |
| Show badges | on | The chatter's badges after the username. |
As a bar, the chat runs on one line along the edge of the canvas: name then message, side by side, long messages ending with "…". Messages travel in the Message direction, pushing the older ones out at the far end. Where the bar runs and its height are set per overlay → Horizontal bars.
As a column too tall for its position, the chat cuts off its oldest messages, never the newest or the pinned ones.
Platform options
Its column has one row per platform switched on in the Connection page. Each platform's options come under headings, in the order of the tables below: Twitch's Announcements, Channel points, Bits, Gifs, Shared chat and Power-ups; YouTube's Super Chats, Super Stickers and Jewels; Kick's Channel points and Kicks.
Twitch
| Setting | Default | Detail |
|---|---|---|
| Show announcements | on | Shows Twitch announcements in the chat. |
| Use Twitch colour | on | The announcement's colour as picked on Twitch: green, orange, purple or blue. Off: the Announcements background. Only while announcements are on. |
| Announcement title | 📢 Announcement 📢 | Title above an announcement. Only while announcements are on. |
| Show channel point redemptions | on | Shows channel point redemptions. |
| Show the viewer's message | on | Adds what the viewer typed in the reward, under the redemption line; nothing when they typed nothing. |
| Redemption text | {user_name} redeemed {reward.title} | The redemption line, filled from the Twitch.RewardRedemption event's own variables. |
| Highlight "Highlight my message" redemptions | on | Shows those messages on their own background (Highlighted messages), Twitch purple by default. |
| Show Bits | on | Shows cheers: the viewer's message with its cheermotes and their Bits, on the "Bits, Kicks & Jewels" background. The cheer is not shown a second time as a plain message. |
| Show gifs | on | Shows the gifs Twitch lets viewers send in chat. Off: they are left out of messages. |
| Place inside speech bubble | off | Gifs inside the message's speech bubble instead of under it. Only while gifs are on. |
| Show shared chat messages | on | During a Twitch shared chat, shows the messages from the other channels' chats, with that channel's name and picture over the message. Off: they are hidden. |
| Show channel picture | on | The other channel's picture beside its name. Only while shared chat messages are on. |
| Show gigantified emotes | on | The "Gigantify an emote" power-up: the message with that emote drawn big. |
| Show message effects | on | The "Message effect" power-up: the message with an animated effect (a rainbow for now). |
YouTube
| Setting | Default | Detail |
|---|---|---|
| Show Super Chats | on | Shows Super Chats in YouTube's tier colours, with their amount. |
| Pin Super Chats | on | Keeps each Super Chat on screen for as long as YouTube pins it — see Pinned messages. |
| Show Super Stickers | on | Shows Super Stickers, the sticker on its tier's colours. |
| Pin Super Stickers | on | The same, for Super Stickers. |
| Show Jewels | on | Shows Jewels gifts as a card. |
| Show gift picture | on | The gift's picture beside the card's text. Only while Jewels are on. |
| Jewels text | {user.name} sent {name} ({jewelsAmount} jewels)! | The card's text, filled from the YouTube.JewelsGifted event's own variables. |
Kick
| Setting | Default | Detail |
|---|---|---|
| Show channel point redemptions | on | Shows Kick channel point redemptions. |
| Show the viewer's message | on | Adds what the viewer typed in the reward. |
| Redemption text | {redeemer.name} redeemed {reward.title} | Filled from the Kick.RewardRedemption event's own variables. |
| Show Kicks | on | Shows Kicks gifts as the viewer's message, the amount (100 Kicks) first in Kick green, on the "Bits, Kicks & Jewels" background. |
| Pin Kicks | on | Keeps a Kicks message on screen for as long as Kick pins it. |
Redemption and Jewels texts use the event's variable names between {}: the button beside
the field opens the event inspector on that event, and the line under it links to
Streamer.Bot's WebSocket documentation. → Triggers and conditions
Pinned messages
While Pin Super Chats, Pin Super Stickers or Pin Kicks is on, those messages stay on screen whatever Hide messages after says, and are never pushed out:
| Message | Pinned for |
|---|---|
| Super Chat or Super Sticker, tiers 1 and 2 | not pinned: it comes and goes like a message |
| Tier 3 · 4 · 5 · 6 · 7 | 2 min · 5 min · 10 min · 30 min · 1 h |
| Higher tiers | one more hour per tier, up to 5 h |
| Kicks | the time Kick pins it for |
A pinned message sticks on the side new messages come in (the bottom when messages move up), the new ones appearing just beside it, and a bar along its bottom empties over its time. Pinned messages take their place in Messages on screen: the others make room, but at least one keeps flowing. Pins live in the browser source's memory: a reload clears them.
Other messages
/memessages have no name line: one line inside the bubble, the platform icon, the username, then the text in italics, in the chatter's colour.- Right-to-left messages (Arabic, Hebrew…) start on the right.
- Gifs sit under the speech bubble, with no background, or inside it with Place Inside Speech Bubble (Twitch options). Hiding the emotes hides them too.
- A power-up message is never shown twice: its plain chat message is skipped, or upgraded in place.
Style
On the Style tab, the Styles column has one row per kind of message, listed only while that kind is switched on; each opens a column of its elements, the picked one styled in the main area and highlighted on the preview. Each kind starts with its Background, then its texts, then its pictures. Each platform's messages can also have their own look: pick it in Style for, beside the Global styles / Custom switch. See Appearance. Pictures and icons have no Show switch here: they are shown or hidden on the Settings tab (Show platform icon, Show badges, Show emotes, Show gifs, Show channel picture, Show gift picture), and their card is listed only while shown.
| Group | Elements |
|---|---|
| All messages | Container · Username · Platform icon · Badges · Emotes · Show / hide transition |
| Chat messages | Message background · Viewer message · Gifs (while Show gifs is on) |
| Highlighted messages | Background · Viewer message |
| Shared chat | Background · Channel name · Viewer message · Channel picture |
| Power-ups | Background · Gigantified emote (while Show gigantified emotes is on) |
| Announcements | Background · Announcement title · Announcement text |
| Channel points | Background · Redemption text · Viewer message |
| Bits, Kicks & Jewels | Background · Jewels text · Viewer message · Jewels gift picture · Kicks countdown bar (while Pin Kicks is on) |
| Super Chats & Stickers | Background · Username · Amount · Viewer message · Sticker |
- Container — the chat's list, with the
box sections:
Full width, 14 px between messages, its own box clear by default. Its Align content lines up the messages, then usernames, badges and texts. The messages always gather on the newest side (the Message direction), so it has no Direction or Justify content. In a bar it is the band: a violet gradient, clear by default, its Height under Size (In the overlay picked in the Overlay builder), no width or alignment. - Platform icon — the overlay's Platform icons style: the picture sections, each platform in its own colour; its side is set on the Settings tab (Icon side).
- Gifs — size
0keeps each gif's own size; a shadow, off by default. - Backgrounds — each kind's own card, with every box section (Auto width by default); the Container lines them up. Each follows the overlay's Widgets background, in a colour of its own for highlighted messages (Twitch's purple), shared chat (teal), announcements and Channel Points; power-ups have their own, clear one. In a bar, each is on the band's one line, so its Direction and Align content are the bar's (a card also takes the band's height). The chat messages' background is see-through there until you customise it; highlighted, shared chat and power-up backgrounds keep their colour.
- Announcements' Background — replaced by the Twitch colour while Use Twitch colour is on.
- Super Chats' Background — Its colours are the Super Chat's tier colours. Username, Amount and Viewer message take the tier's ink colour.
- Kicks countdown bar — the bar a pinned Kicks message empties, Kick green by default.
Default position
A bottom bar, 50 px high at 1080p. With Messages orientation on Vertical: position Bottom right, as wide as the position, size 100 %. All of that is changed on the Overlay builder's Layout tab.
Streamer.Bot events it listens to
The widget reacts to these on its own — nothing to configure, as long as the platform is on in the Connection page.
| Event | What it triggers |
|---|---|
Twitch.ChatMessage | A Twitch message: emotes, badges, gifs, highlighted, /me and shared chat messages |
YouTube.Message | A YouTube message |
Kick.ChatMessage | A Kick message |
Twitch.Announcement | A Twitch announcement — only with Show announcements on |
Twitch.RewardRedemption | A Twitch channel point redemption — only with Twitch's Show channel point redemptions on |
Twitch.Cheer | A cheer — only with Show Bits on |
Twitch.PowerUpRedemption | A gigantified emote or a message effect — only with Show gigantified emotes or Show message effects on |
YouTube.SuperChat | A Super Chat — only with Show Super Chats on |
YouTube.SuperSticker | A Super Sticker — only with Show Super Stickers on |
YouTube.JewelsGifted | A Jewels gift — only with Show Jewels on |
Kick.RewardRedemption | A Kick channel point redemption — only with Kick's Show channel point redemptions on |
Kick.KicksGifted | A Kicks gift — only with Show Kicks on |
| Your automated controls' triggers | Show or hide the chat, clear it, pause or resume the relay — see Controls |
General.Custom | The manual controls: clear the chat, pause and resume the relay |
Misc.GlobalVariableUpdated, Misc.GlobalVariableCreated | The chat shown or hidden elsewhere |
Controls
On the widget page's Controls tab:
- Controls, the column on the left, lists Show, Hide, Clear chat, Pause chat relay and Resume chat relay (the relay's two while the relay is on), each with the names of its triggers. Pick one to see its triggers in Trigger list, beside it.
- Trigger list: the Streamer.Bot triggers that do it. Add trigger adds one,
conditions included → Triggers and conditions.
- Show and Hide — none by default.
- Clear chat — none by default.
- Pause chat relay — default: Twitch Stream Offline.
- Resume chat relay — default: Twitch Stream Online.
- The main area has the buttons, also in the controls window:
| Control | What it does |
|---|---|
| Show / Hide | One button, Hide while shown and Show while hidden: shows or hides the chat in every overlay and the preview, with its Show / hide transition, read live: Chat Overlay: Shown or Hidden. |
| Clear chat | Removes every message on screen, on every overlay. |
| Pause chat relay | Stops forwarding messages to your other platforms. Only while the relay is on. |
| Resume chat relay | Forwards messages again. Only while the relay is on. |
A pause lasts until you resume, even if the browser source reloads. Clear chat and the relay's buttons go through Stream UI - Broadcast, so they need Streamer.Bot connected.
Show / Hide writes to Streamer.Bot through the Backend action, as
streamUi.off.chat.display (1 hidden), so a hide survives a reload and your own actions
can show or hide the chat by setting that persisted global variable. Hidden, the chat keeps
receiving messages (and relaying them while the relay is on); once it has left, its room
goes to the other widgets: its bar closes, whatever its height, or its position closes up.
Triggers and conditions
How Alerts, Goals & Subathon, Stream Counter, End Credits and the reset triggers react to the Streamer.Bot triggers you pick, with conditions, text variables, a chat message, a sound and a Discord message.
Chat First
Crowns the first chatter of each stream on every platform, with their picture and how many times they were first.

