It takes four steps. Create a text channel called something like #welcome, deny "Send Messages" for @everyone so nobody can post in it, drag it to the top of your channel list, then select it under Server Settings > Overview > System Messages Channel so Discord posts its join messages there. You can't edit Discord's join text, and Discord doesn't send a goodbye message when someone leaves. For your own greeting, a welcome image or a leave message, you need a bot.
The steps below use the desktop app or the browser version at discord.com/app. Desktop is the easiest place to do this, because Discord's help articles don't give mobile steps for every one of these settings.
Part 1: Build the channel in Discord
1. Create the channel
- In your server's channel list, click the + next to the category you want (or next to "Text Channels").
- Choose a text channel.
- Name it. Most servers call it
welcome. If a bot will also post leave messages there,welcome-and-goodbyeworks too. - Every new member needs to see this channel, so if the create window offers a private option, leave it off.
- Click Create.
Discord covers this in its channel setup article.
2. Make it read-only
You want everyone to be able to read the channel but not post in it. Otherwise it fills up with "hi" and "ty".
- Hover over the channel and click the cog icon (Edit Channel).
- Open the Permissions tab.
- Click the @everyone role.
- Find Send Messages and select the red X to deny it.
- Don't touch View Channel. If you deny it by mistake, nobody will see the welcome messages.
- Click Save Changes.
To let staff post there, click +, choose your staff role and set Send Messages to the green check mark. Do the same for any bot that will post greetings. A bot can't post in a channel where its role has no permission to send. If the bot will post images and embeds, give it Embed Links and Attach Files as well.
This works because channel permissions override the role permissions set for the whole server (Discord's permissions explainer). For a longer walkthrough that also covers rules and announcement channels, see How to Make a Read-Only Announcement or Rules Channel in Discord.
On mobile: Discord's permissions article gives this route for voice channels: tap and hold the channel, choose Edit Channel, then Channel Permissions, then pick a role or add a role or member. Changes save automatically. Discord doesn't give separate mobile steps for text channels. If your app doesn't show these menus for a text channel, do this step on desktop.
3. Move it to the top
On desktop, drag the channel to the top of your list, above your rules and general chat. Categories move the same way. For example, you could put #welcome and #rules in a category called "Start Here" and drag that category to the top. Discord calls this drag and drop reordering.
Discord doesn't document how to reorder channels on mobile. If you can't find the option on your phone, use desktop.
4. Point Discord's join messages at the channel
Skip this step and your new channel stays empty, because Discord keeps posting join messages wherever it posted them before.
- Open the server name menu and click Server Settings.
- Stay on the first tab, Overview. Some guides put this setting under Community, but Discord's own article places it in Overview.
- Scroll to System Messages Channel and pick #welcome from the dropdown.
- If there are toggles under the dropdown for which system messages Discord sends, make sure the one for join messages is on.
- Save your changes.
You need a role with the Manage Server permission to change this. Source: Discord's System Messages article. Discord doesn't give mobile steps for this setting.
Why this matters: when you created the server, Discord may have made your first text channel (often #general) the system channel. Making #welcome later doesn't move the join messages, so you have to change the setting yourself.
If you want Discord's own join messages off, for example because a bot will greet people instead, choose No System Messages at the top of the same dropdown.
Discord recommends having a welcome channel where join messages show up automatically. Once you've done these four steps, you have one.
A note on the Welcome Screen
Older guides tell you to set up the "Welcome Screen". Discord no longer lets you edit it and recommends Community Onboarding instead. Onboarding is a separate setting. It doesn't replace a channel where join messages appear.
Part 2: Add a custom welcome message, image and goodbye
Discord's join messages have three limits:
- Discord picks the text at random from a fixed list, and you can't edit it.
- You can't add your own image, banner or rules link, or show who invited the member.
- Nothing is posted when someone leaves.
A bot gets around all three. Here is how it works in PeakBot. We make PeakBot.
Set up welcome messages in PeakBot
- Add PeakBot to your server and open the dashboard at peakbot.pro. The getting started guide covers the invite and your first login.
- Pick your server, then open Welcome Messages in the dashboard sidebar.
- Choose #welcome as the channel.
- Write the message as plain text or as a rich embed. Keep it short: say hello, point people to your rules channel and tell them where to start chatting.
- If you like, have the message show who invited the new member.
- You can also add a welcome image, or send the greeting by DM. Both need a paid plan. Starter is $5.75/month, or $48/year, per server.
- Save. The dashboard shows a preview before anything is posted.
You set up welcome messages on the dashboard. There's no setup command to type in Discord.
Check the permissions from step 2 of Part 1: PeakBot's role needs Send Messages, Embed Links and Attach Files in the read-only channel. If you only want one greeting per new member, set Discord's System Messages Channel to No System Messages, or send Discord's messages to a different channel.
Add a goodbye message
Open Goodbye Messages in the same sidebar. It works the same way as Welcome Messages, but posts when someone leaves. Send it to #welcome or to a separate #goodbye channel.
Useful extras for new members
None of these are required, but they pair well with a welcome channel:
- Roles: give everyone a role automatically when they join, or let members pick their own.
- Verification: new members click a button, and can be asked questions, before they see the rest of the server. Anyone who never verifies can be kicked automatically.
- Invite Tracker: records who invited whom, with optional invite rewards.
The Welcome, roles and verification docs page explains how these work together. If you're building a whole server from scratch, the AI Server Builder can plan your channels, welcome area included, from a description. It's free to try, and full use is on Pro.
Frequently Asked Questions
Why isn't the welcome message showing in my welcome channel?
There are three usual causes. One: the System Messages Channel in Server Settings > Overview still points at your old channel, often #general. Two: the join message toggle under that dropdown is off. Three: @everyone has View Channel denied on #welcome, so nobody can see the posts. If you use a bot, also check that its role can send messages in that channel.
Can I change what Discord's welcome message says?
No. Discord picks the line at random from its own list, and you can't edit it. Users on Discord's feedback forum also point out the lines only come in English. For your own wording, turn off Discord's join messages and use a bot's welcome message instead.
How do I make a goodbye message when someone leaves?
Discord has no built-in leave message, so you need a bot. In PeakBot, open Goodbye Messages in the dashboard, pick a channel and write the message.
How do I stop people from typing in the welcome channel?
Edit the channel, go to Permissions, click @everyone and set Send Messages to the red X. Then give your staff role and your welcome bot the green check so they can still post.
How do I turn off the "wave to say hi" sticker replies?
New members can reply to Discord's join message with a sticker, and some server owners report that this gets spammed. Discord's System Messages article doesn't describe a separate switch for these replies. The sure way to stop them is to choose No System Messages in Server Settings > Overview, so Discord's join message isn't posted at all, and greet new members with a bot instead.
How do I add a welcome image or banner?
Discord's join messages can't include an image. In PeakBot, add one under Welcome Messages on the dashboard. Welcome images need a paid plan, starting with Starter at $5.75/month per server. The features page lists everything that's free and everything that's paid.
