The !Hug Command: Let Your Chat Interact With Each Other

Most commands point at you. This one points viewers at each other — which is how a chat turns into a community.

!hug
Get Started Free

What Does the !Hug Command Do?

A viewer types !hug @Sarah and the bot posts something like “@Dave wraps @Sarah in a hug. Wholesome.” If they type !hug with no name, most setups fall back to hugging the streamer, or hugging the person who typed it — your choice, and worth deciding deliberately rather than discovering by accident.

It belongs to a small family of targeted commands: triggers that take another chatter's name as an argument and build a sentence around it. !slap, !highfive, !pat and !boop are all the same command with different verbs, and once you've built one the rest take about a minute each.

What makes this category structurally different from every other command on this site is the direction of the interaction. !uptime answers a question about you. !socials promotes you. !lurk is a viewer telling you something. !hug is one viewer addressing another, with your bot as the medium — you're not in the sentence at all.

The technical piece that makes it work is a variable that resolves to “the name in the message, or the sender if there isn't one”. Every major bot has some version of it, usually called touser, and it's the single thing separating this from a static text command.

Why Viewer-to-Viewer Commands Matter

There's a ceiling on any channel where every interaction runs through the streamer. You can only reply to so many people, and when you're concentrating — a hard boss, a competitive match, a tricky bit of a build — you can't reply to anyone. In that model, a chat with thirty people in it is thirty individual conversations queued for one person, and most of them go unanswered.

Channels that grow past that point are the ones where viewers talk to each other, and that transition doesn't happen by itself. Two strangers watching the same stream have no reason to address each other, and no obvious opening line. A targeted command manufactures the opening: !hug @Sarah requires no wit, risks nothing, and produces a named interaction between two people who had never spoken. It's the smallest possible unit of a friendship forming in your chat.

The pattern that follows is predictable and worth encouraging. Someone hugs a name they've seen before. That person hugs back. A third person joins in. Within a few streams there's a group of regulars who show up partly for each other rather than only for you — and that group is what keeps a channel alive through the weeks when your numbers dip or you need to take a break.

Practically, this is also the command that fills the gaps in your attention. When you're mid-fight and chat has gone quiet waiting for you, an interaction command gives the room something to do that doesn't need you. Combine it with an AI chat bot keeping the conversational thread alive and a quiet stretch stops feeling like dead air. For a broader look at engagement mechanics, the stream engagement bot page covers the same idea at channel scale.

!Hug Variations & Example Responses

CommandExample ResponseNotes
!hug @Sarah@Dave wraps @Sarah in a hug. Wholesome behaviour in this chat.The standard form. The target's name comes from the message.
!hug (no target)@Dave hugs the streamer. Awkward but appreciated.Decide the fallback deliberately — target the streamer or the sender.
!highfive @Sarah@Dave and @Sarah high five. The sound echoes across the server.Same template, celebratory verb. Takes a minute to duplicate.
!pat @Sarah@Dave pats @Sarah on the head. There there.The consolation version. Pairs well with a bad run of luck.
!slap @Sarah@Dave slaps @Sarah with a large wet trout.Aggressive verbs need tighter cooldowns and a watchful mod team.
!boop @Sarah@Dave boops @Sarah's nose. No further explanation given.Pure nonsense, and usually the most-used one in the set.
!hugs@Sarah has been hugged 47 times.Needs a bot with per-viewer counters. Turns the joke into a leaderboard.

Set Up !Hug in StreamUps

StreamUps runs the same command list on Twitch, YouTube Live and Kick, so viewers can interact across platforms in a merged chat rather than only with the people on their own.

  1. 1Sign in to StreamUps and connect the channels you stream to.
  2. 2Open the Commands section of the dashboard and add a new command.
  3. 3Set the trigger to !hug.
  4. 4Write the response using the sender placeholder and the target placeholder — for example: $(user) wraps $(touser) in a hug. Wholesome behaviour in this chat.
  5. 5Check what the target placeholder falls back to when nobody is named, and write the response so that fallback still reads correctly.
  6. 6Set a per-user cooldown of 30 seconds, leave the user level at everyone, and save. Duplicate the command with new verbs for !highfive, !pat and !boop.

Set Up !Hug in Nightbot

Nightbot handles this with the $(touser) variable, which resolves to the name given in the message or falls back to whoever typed the command.

  1. 1Sign in at nightbot.tv and confirm Nightbot has joined your channel with moderator status.
  2. 2Open Commands, then the Custom tab, and click Add Command.
  3. 3Set Command to !hug.
  4. 4Set Message to $(user) wraps $(touser) in a hug. Wholesome behaviour in this chat. — $(user) is the person who typed it and $(touser) is the target.
  5. 5Remember the fallback: with no name supplied, $(touser) becomes the sender, so the message reads as someone hugging themselves. Reword it if that bothers you.
  6. 6Set User Level to Everyone and Cooldown to 30 seconds, then Submit. Repeat for !highfive, !pat and !slap, changing only the verb.

Set Up !Hug in StreamElements

StreamElements offers the same targeting variable and adds a random picker, which lets one hug command rotate several phrasings instead of repeating one line all stream.

  1. 1Sign in at streamelements.com, open the Bot section and confirm the bot has joined your channel.
  2. 2Go to Chat Commands, open the Custom Commands tab and click Add New Command.
  3. 3Set the command name to !hug.
  4. 4Set the response to ${sender} wraps ${touser} in a hug. Wholesome behaviour in this chat.
  5. 5To rotate the wording, wrap several endings in the random picker: ${sender} hugs ${touser} ${random.pick tightly., like they mean it., for a suspiciously long time.}
  6. 6Set Cooldown to 30 seconds and access level to Everyone, save, and test with and without a target name so you know how both cases read.

The Moderation Side of Targeted Commands

Any command that names another person is, in principle, a way to direct attention at someone who didn't ask for it. In practice a hug command causes almost no trouble and a slap command occasionally does, and the difference is entirely in the verb. Affectionate verbs are safe; aggressive ones are a harassment vector wearing a joke as a disguise, because “it's just a command” is the exact defence someone will use when they've typed !slap at the same person forty times.

Three guardrails cover it. First, cooldowns per user — 30 seconds is enough to make sustained targeting tedious. Second, write the responses so the target is never the butt of the joke: “@Dave slaps @Sarah with a wet trout” is a Monty Python reference, while anything implying the target deserved it is not. Third, tell your mods that repeated targeting is a moderation issue regardless of which command carried it — the trigger doesn't launder the behaviour.

Two smaller details worth handling. Bots generally don't verify that the target is actually in chat, so !hug @someone_who_left posts happily into the void, and someone will use that to name a person who isn't there. And if your channel has had a stalking or harassment problem, targeted commands are the first thing to disable — they're a convenience, not a necessity, and turning them off for a while costs you nothing.

On the lighter side, decide what happens when a viewer targets you. Most streamers let it through and it's a nice moment. If your responses are written to imply consent from the target, though, read them once from the streamer's perspective before you go live — some phrasings that read as sweet between two viewers read differently when pointed at the person on camera.

Building a Family of Interaction Commands

Once !hug exists, the same template gives you as many as you want. !highfive for celebration, !pat for consolation after a bad run, !boop for no reason at all, !cheers for a channel that streams in the evening. Copy the command, change the verb and the wording, save. Five minutes buys you the whole set.

The temptation is to build twenty, and that's a mistake for the same reason a thirty-command list is a mistake: viewers use the triggers they've seen used, and a wide menu of near-identical commands means none of them gets used often enough to become a habit. Three or four is the sweet spot — one warm, one celebratory, one silly, and optionally one aggressive if your community's humour supports it.

If your bot can count, a tally turns the set into something stickier. “@Sarah has been hugged 47 times” gives regulars a number to compete over and gives you an easy thing to react to on stream. Not every bot tracks per-viewer counters, so check before you promise it — and if yours doesn't, a !quote command capturing the best interactions gets you something similar with no counting involved.

Finally, keep the wording platform-neutral. Interaction commands are heavy on personality, and personality often means emotes — which don't exist across platforms. A response built around a Twitch emote name renders as gibberish on Kick and YouTube, so if you run one command list across all three, write the warmth into the words instead.

!Hug Command FAQ

How does the bot know who to hug?
From the first word after the trigger. Bots expose it through a variable — usually called touser — that resolves to the name supplied in the message, or falls back to the person who typed the command when no name is given. The bot doesn't check whether that person is actually in chat.
What happens if nobody is named?
It depends on your wording. Most bots fall back to the sender, which produces a message about someone hugging themselves — fine as a joke, odd if you didn't plan for it. The alternative is writing the command to target the streamer by default, which usually reads better and gives newcomers a safe way to use it.
Can viewers use !hug on someone who isn't in chat?
Yes. Bots don't generally verify that the target is present, so any name typed after the trigger gets used. That's harmless most of the time and occasionally a way to name someone who deliberately left. If it becomes a pattern, treat it as a moderation matter rather than a command problem.
Is a !slap command a bad idea?
Not inherently, but it needs more supervision than !hug. Aggressive verbs give a persistent user a way to target someone repeatedly under cover of a joke. Keep the cooldown tight, write the response so the target is never the butt of it, and make sure mods know that repeated targeting is actionable regardless of which command delivered it.
How many interaction commands should a channel have?
Three or four. One warm, one celebratory, one silly, and optionally one aggressive if your community's humour supports it. Beyond that they compete with each other — viewers only use the triggers they've seen used, and a long menu of near-identical commands means none of them becomes a habit.
Can I count how many hugs someone has received?
Only if your bot supports per-viewer counters, which not all do. Where it's available, a running tally is a genuinely good addition — it gives regulars something to compete over and gives you an easy thing to react to. Check the feature exists before you announce it to chat.
Do interaction commands work across platforms when multistreaming?
The commands themselves do, but the social effect depends on whether your viewers can see each other. With separate chats per platform, a Twitch viewer hugging a YouTube viewer is invisible to both. Merging your chats into one stream is what makes cross-platform interaction actually land.

Related Commands

Set Up Chat Commands in Minutes

Add !lurk, !so, !discord, and more to your Twitch, YouTube, or Kick chat with StreamUps. No bot hosting, no code—just pick your commands and go live.

Related Pages