Chatter Greeting
Says hello to every viewer who arrives. The first time someone writes in your chat, a
bubble pops up with their profile picture and your greeting — PixelPanda is in the chat!. With Greet lurkers on, viewers who join without writing are greeted too. Each
greeting can also play a sound and post a chat message, and custom greetings welcome
newcomers, members of your groups and returning viewers differently.
Platforms: Twitch, YouTube, Kick
Action pack: Stream UI - Get Profile Pic for Twitch pictures, Stream UI - Sounds for sound files, Stream UI - Backend for group greetings, "Back after" greetings and the pause → Pause and resume. Without the pack, greetings still show, without Twitch pictures. See Who needs what.
How it works
- Once per viewer. A viewer is greeted the first time they write (Streamer.Bot's First Words event), then never again until the browser source reloads.
- Lurkers, if you want. Streamer.Bot sends the list of viewers present in chat every few minutes. With Greet lurkers on, anyone new on that list is greeted. The first list after the browser source loads is only noted, without greeting anyone, so a reload never greets your whole chat again.
- Greetings stack. Each one stays for the show duration, then leaves. When more arrive than Greetings on screen allows, the oldest leaves first.
- The chat message goes to the viewer's own chat — a Twitch viewer is welcomed on Twitch, a Kick viewer on Kick.
- Sounds and chat messages come from the overlay that runs the actions, even when another overlay shows the greetings. A single-widget URL only shows them. → Which overlay runs the actions
- When a viewer was last seen is saved. The overlay that runs the actions saves each
greeted viewer's visit in their persisted user variable
lastSeen(a date and time), 10 seconds after the greeting. That is what Back after greetings read.
The page
The widget's page works like a small app:
- Settings, Style and Controls, the tabs over the editor, switch what it shows.
- The column on the left lists the Settings tab's sections: Display settings, Default greetings, First message ever, User groups and Back after, the last three each with its on/off switch on its row. Click one to edit it in the main area. On the Controls tab, Pause and Resume and their triggers → Pause and resume.
- User groups and Back after open their list beside it — Group list, Threshold list — where you add, reorder, duplicate or delete rows; the picked one is edited in the main area.
- 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.
How to set it up
Switch it on
On the Widgets page, switch Chatter Greeting on. It is under the Chat tab, and on by default.
Write your greeting
In Default greetings, change the Greeting text template line. {user} is the viewer's name,
{platform} the platform they arrived on. Add a sound or a chat message if you want.
Choose who gets greeted
Leave Greet lurkers off to greet only the people who write, or switch it on to greet everyone who joins. First message ever, User groups and Back after greet newcomers, groups and returning viewers their own way.
Try it, then update your browser source
Use the test buttons of the Widget preview panel, then copy the overlay URL again into your browser source → Layout and browser source.
Settings
Display settings
In two parts: Overlay settings (the first four) and Chatter details (the picture and the icon).
| Setting | Default | Detail |
|---|---|---|
| Time on screen | 8 s | How long each greeting stays on screen, from 3 to 60 s. |
| Greetings on screen | 5 | How many greetings are shown at once, from 1 to 15. One more pushes the oldest out. |
| Newest on top | off | Off: new greetings arrive at the bottom. On: at the top. |
| Greet lurkers | off | Also greets viewers who join the chat without writing. |
| Show profile picture | on | The viewer's picture beside the card. |
| Show platform icon | on | The Twitch, YouTube or Kick logo in the card. |
Default greetings
Every greeting — the default one and each custom one — is the same block, in three parts: Overlay greeting, Sound and Chat message.
| Setting | Default | Detail |
|---|---|---|
| Greeting text template | {user} is in the chat! | The line in the bubble. Its variables are listed under it. |
| Play sound | on | Off: this greeting plays nothing. |
| Sound | off | The sound button opens the Greeting sound window: a file on your PC, a random file from a folder, or a link. → Sounds |
| Send a chat message | off | Posts a message in the viewer's own chat. |
| Send as bot | on | Posts with your bot account instead of the broadcaster's. |
| Reuse overlay greeting | off | Posts the greeting's text instead of a message of its own. |
| Chat message | Welcome {user}! | The message posted. |
The texts can use:
| Variable | Example | Detail |
|---|---|---|
{user} | PixelPanda | Their display name. |
{platform} | Twitch | The platform they arrived on. |
{days} | 12 | Days since their last visit (empty when unknown). |
Custom greetings
Three kinds, each a row with its own on/off switch (all off by default); a viewer gets the first one switched on that matches, in this order, else the default greeting:
- First message ever — their first message ever in your channel (Streamer.Bot's First
Words flags it). Defaults:
Welcome {user}, first time here!, chat messageWelcome to the channel {user}!. - User groups — the first row of its Group list, top to bottom, whose Streamer.bot group they are in (the row's name, typed in the main area). Add group adds a row. The group is checked by user ID or login, on any platform.
- Back after — the row of its Threshold list with the most Days away they
have reached since their last greeting. Add threshold adds a row (14 days to start
with). Defaults: 7 days,
Welcome back {user}!; 30 days,{user} is back after {days} days!with the chat messageLong time no see {user}!. A viewer with no saved visit yet gets the default greeting.
Each custom greeting has the same block as the default one, plus:
| Setting | Default | Detail |
|---|---|---|
| Reuse default sound | on | Shown while Play sound is on. Plays the default greeting's sound (none while the default greeting's Play sound is off). The sound button shows when it is off. |
An empty Greeting text template or chat message uses the default one's (the placeholders read Default greeting and Default chat message). Each custom greeting has its own Send a chat message switch.
Style
Each element follows the overlay style field by field: a field you change on the Style tab is the widget's own, with a reset arrow beside it. Every platform can also have its own look: pick it in Style for, beside the Global styles / Custom switch. See Appearance.
| Element | Detail |
|---|---|
| Container | The greetings under each other, lined up on the widget's position, Full width, 8 px between cards. Lined up on the right, a greeting's picture goes right of its card. |
| Background | The card behind each greeting: its platform icon and text on one line. At Full width a greeting takes the whole row. Follows the overlay's Widgets background style. |
| Picture | The viewer's profile picture. Twitch pictures need the Get Profile Pic action. Listed while Show profile picture is on. |
| Platform icon | The Twitch, YouTube or Kick logo, in the card. Follows the overlay's Platform icons style. Listed while Show platform icon is on. |
| Text | The greeting. Long names wrap. |
| Show / hide transition | How greetings appear and leave. |
Default position
Position Bottom right, as wide as the position, size 100 %. All of that is changed on the Overlay builder's Layout tab.
Pause and resume
While paused, the greetings on screen leave at once and nobody is greeted: no bubble, no sound, no chat message. Viewers who arrive meanwhile count as greeted, so resuming never greets your whole chat at once.
On the widget page's Controls tab:
- Controls, the column on the left, lists Pause and Resume, 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.
- Pause — default: Twitch Stream Offline.
- Resume — default: Twitch Stream Online.
- The main area shows Chatter Greeting: Running or Paused, with the buttons Resume and Pause, also in the controls window.
The state is kept in Streamer.Bot, in the persisted global streamUi.off.greeting (1:
paused; 0 or none: running), so it lasts until you resume, even if the browser source
reloads, and every overlay follows it at once. Your own actions can pause or resume the
widget too, with a Global (Set) sub-action on that variable. The buttons and triggers
need Stream UI - Backend.
Streamer.Bot events it listens to
| Event | What it triggers |
|---|---|
| Your Pause / Resume triggers | Pauses or resumes the widget |
Misc.GlobalVariableUpdated, Misc.GlobalVariableCreated | The widget paused or resumed elsewhere (the page, the controls window, your actions) |
Twitch.FirstWord | A viewer's first Twitch message — greets them |
YouTube.FirstWords | A viewer's first YouTube message — greets them |
Kick.FirstWords | A viewer's first Kick message — greets them |
Twitch.PresentViewers, YouTube.PresentViewers, Kick.PresentViewers | The viewers present in chat — greets the new ones. Only with Greet lurkers on |
Only the platforms switched on in the Connection page are listened to.

