The !Discord Command: Grow Your Server From Your Stream
One trigger drops your invite link into chat, so nobody has to scroll your panels to find where the community actually lives.
!discordWhat Does the !Discord Command Do?
The !discord command is a static chat command that posts your Discord server invite the moment a viewer asks for it. Someone types the trigger, your bot replies with a line like “Come hang out between streams: discord.gg/yourserver — introductions channel is on the left,” and that viewer is one click away from joining. No panels to scroll, no “it's in my bio somewhere,” no waiting for you to finish a sentence before you can answer.
It is the single most common link command on Twitch for a boring but important reason: the question gets asked constantly, and answering it manually is a tax on your attention. A viewer in a 90-minute stream who wants your server will ask once. If you're mid-fight, mid-sentence or mid-tutorial, that question scrolls past and never gets answered. A command answers it in under a second whether you noticed it or not, and it answers the same way for the fortieth person as it did for the first.
The command is also what mods reach for when someone asks a question that belongs in your server rather than your chat. Long-form questions, build advice, mod-list requests, scheduling, clip submissions — all of it is a poor fit for a fast-scrolling live chat and a great fit for a threaded conversation that survives past the end of your stream. Typing !discord at that person is a redirect, not a dismissal, and it keeps your chat readable.
Mechanically it is the simplest command on this site: a trigger and a fixed response, with no API lookups and no variables. That simplicity is why it belongs in the first batch of commands you set up, alongside !socials and !uptime. The work isn't the setup — it's deciding what the invite points at and what the viewer finds when they arrive.
Discord Is Where Your Audience Lives Between Streams
Live streaming has a structural problem: your audience only exists while you're broadcasting. The moment you end the stream, the room empties and every relationship you built that night goes dormant until your next go-live notification — which most of your followers will not see, because platform notifications are unreliable and inboxes are noisy. A Discord server is the fix. It's the place your community keeps talking on the five days a week you aren't live, and it's the reason a viewer remembers you exist on Thursday when you last streamed on Sunday.
That gap-filling is what turns casual viewers into regulars. Someone who watched you once and left has no reason to come back; someone who watched you once, joined your server, and got a reply to their message in #introductions now has a relationship with the community rather than just with your stream. The next time they see you live, they're not a stranger arriving — they're a member showing up. Retention in streaming is mostly about how many of those relationships you can hold open, and chat alone can't hold them because chat disappears.
There's a practical scheduling benefit too. A server gives you somewhere to announce a schedule change that people will actually read, somewhere to collect game suggestions before you decide what to play, and somewhere to run the things that don't fit a live broadcast: watch parties, community game nights, clip channels, feedback threads. Those events pull people back to your stream without you having to advertise at them.
And it gives your most engaged people something to do. Every community has a handful of viewers who want to contribute more than watching — they'll moderate, they'll organise, they'll make emotes, they'll answer newcomers' questions before you've read them. A server is where that energy goes. Without one it either evaporates or turns into over-eagerness in chat. With one, it becomes the volunteer layer that lets your community keep functioning when you're offline, asleep, or taking a week away.
The !discord command is the funnel between the two. Your stream is the top — high traffic, low commitment, entirely transient. Your server is the bottom — lower traffic, high commitment, permanent. A command that connects them in one click is worth more to your channel's growth than most overlay tweaks, and it takes a minute to set up.
!Discord Variations & Example Responses
| Command | Example Response | Notes |
|---|---|---|
| !discord | Come hang out between streams: discord.gg/yourserver | The plain version. Short enough to read at a glance in a fast chat. |
| !discord | Our Discord is where the schedule, clips and game nights live: discord.gg/yourserver — say hi in #introductions! | Tells the viewer what they get for clicking. Converts better than a bare link. |
| !server | Come hang out between streams: discord.gg/yourserver | Add as an alias so !server, !dc and !community all resolve to the same response. |
| Timer (every 40 min) | Not following on Discord yet? discord.gg/yourserver | Auto-posted on a timer with a chat-activity threshold so it never posts into an empty room. |
| !discord (mod redirect) | Long questions get better answers in Discord: discord.gg/yourserver — drop it in #help. | What mods type when a question is too big for live chat. |
| !discord roles | Grab the @stream-ping role in #roles to get notified when we go live: discord.gg/yourserver | A second command pointing at the notification opt-in rather than the front door. |
Set Up !Discord in StreamUps
StreamUps runs one command across Twitch, YouTube Live and Kick simultaneously, so a single invite command covers every chat you're broadcasting to.
- 1Generate the invite in Discord first: right-click your welcome channel, choose Invite People, open Edit invite link and set Expire After to Never with No Limit on uses. Copy the link.
- 2Sign in to StreamUps and connect the channels you stream to — Twitch, YouTube Live and Kick can share one account.
- 3Open the Commands section of the dashboard and add a new command.
- 4Set the trigger to !discord and paste your invite into the response, with a sentence explaining what's in the server.
- 5Add !server, !dc and !community as aliases so viewers find it however they phrase it, and set a global cooldown of 30-60 seconds.
- 6Enable the command on each connected platform and save. If you want the invite posted automatically as well, add it as a timer at 30-45 minute intervals.
Set Up !Discord in Nightbot
Nightbot handles Twitch and YouTube and is free. An invite command needs no variables at all — it's the simplest command type Nightbot supports.
- 1Go to nightbot.tv, sign in with your Twitch or YouTube account and confirm Nightbot has joined your channel.
- 2Open Commands in the sidebar, choose the Custom tab and click Add Command.
- 3Set Command to !discord and paste your permanent invite link into the Message field along with a short line about what the server is for.
- 4Set User Level to Everyone and Cooldown to 30 seconds so the link can't be spammed at chat.
- 5Add !server and !dc in the Alias field of duplicate commands, or create them as separate commands pointing at the same message.
- 6For an automatic version, open Timers, click Add, paste a shorter message, set the interval to 40 minutes and the chat lines threshold to around 10.
Set Up !Discord in StreamElements
The StreamElements bot is Twitch-focused and free. Its command editor lets you restrict where the link can be posted and how often, which matters for a promotional command.
- 1Sign in at streamelements.com, open the Bot section and make sure the bot has joined your channel.
- 2Go to Chat Commands, open the Custom Commands tab and click Add New Command.
- 3Set the command name to !discord and enter your invite link plus a short description as the response.
- 4Under Advanced Settings, set access level to Everyone and give it a 30-second cooldown.
- 5Add alternative triggers such as !server and !community in the Aliases field.
- 6For a scheduled version, open Timers, create a new timer with the same message, and set both a minimum interval and a minimum chat-lines value so it only fires when chat is active.
Invite Link Hygiene, Timers & Measuring Joins
The first thing to get right is the invite itself. Discord invites expire by default — the standard link generated from the right-click menu lasts 7 days and can be capped at a fixed number of uses. Put one of those in a chat command and you'll be back in a month wondering why nobody joined, because the link went dead and your bot cheerfully kept posting it. When you generate the invite, set Expire After to Never and Max Number of Uses to No Limit. Create it from your welcome or rules channel, not from a random voice channel, so arrivals land somewhere that explains itself.
If your server is eligible for a vanity URL (Discord grants custom invite links at Level 3 boost), use it. A link that reads discord.gg/yourbrand is memorable enough to be said aloud on stream and typed from memory later, which a seven-character random string never will be. If you don't have boosts, the random link is fine — just never change it once it's in your commands, panels, video descriptions and social bios.
The second question is whether to run the command on a timer as well as on demand. A timer posts the invite automatically every N minutes, which catches the viewers who would never think to ask. It also annoys everyone if you set it too aggressively. A reasonable configuration is one post every 30 to 45 minutes with a message threshold — most bots let you require a minimum number of chat lines since the last timer fire, so the invite doesn't post into an empty room. Rotate it with your other timers rather than stacking three promotional messages back to back, and keep the timed version of the message shorter than the on-demand version.
Third: measure whether any of it works. Discord's own Server Settings → Invites view shows the use count per invite link, so generate a separate invite specifically for the chat command and you'll be able to see exactly how many joins came from it. Make another for your panels, another for your video descriptions, and you have crude but genuine attribution for where your community members come from. If the chat-command invite is doing all the work, put it in more places; if it's doing none, the problem is usually the response wording, not the command.
Finally, wire the connection in the other direction. A Discord webhook that announces your stream to a #go-live channel closes the loop: viewers join from chat, then get pinged in Discord when you go live, then come back to the stream. Both platforms support this natively, and a role people can opt into (@stream-ping) keeps the announcement from irritating members who only came for the community. If you also run collab chat with other streamers, a shared server or a shared channel is where that cross-promotion keeps paying off after the collab stream ends.
One moderation note worth planning for: a public invite in chat is visible to raiders and bot accounts as well as to your regulars. Turn on Discord's verification level (at minimum, “must have a verified email”) and set up a rules gate before members can post. A server that anyone can walk into and immediately spam is worse than no server, and the cleanup lands on the same mods who are already watching your chat.
!Discord Command FAQ
How do I add a Discord link to Twitch chat?
Why does my Discord invite link keep expiring?
Should I post my Discord link on a timer as well?
Can I see how many people joined my Discord from the command?
Does the !discord command work on YouTube Live and Kick?
My bot's Discord link gets deleted by the chat filter — how do I fix it?
Should the invite point at a welcome channel or the server's default channel?
Related Commands
!lurkLurk
Let viewers announce they're watching quietly without leaving the stream.
!followageFollowage
Show viewers exactly how long they've been following your channel.
!watchtimeWatchtime
Show a viewer's total hours spent watching your streams.
!soShoutout
Give another streamer an on-stream shoutout with a link to their channel.
!socialsSocials
Share all of your social media links in a single chat message.
!uptimeUptime
Tell chat how long the stream has been live at any moment.
!quoteQuote
Save memorable stream quotes and replay them in chat later.
!rulesRules
Post your chat rules on demand so moderation stays transparent.
!clipClip
Let chat capture the last 30 seconds the moment something happens.
!songSong
Show whatever track is playing right now without breaking your flow.
!subcountSubcount
Put your live subscriber total in chat to fuel milestone hype.
!8ball8ball
Answer chat's questions with a random magic eight ball verdict.
!hugHug
Give viewers a way to interact with each other, not just with you.
!specsSpecs
Answer the most-asked question on any stream: what's in your PC?
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.