How to Make a Read-Only Announcement or Rules Channel in Discord
To make a read-only channel in Discord where members can't type, open the channel's permission settings, find the @everyone role, and switch the Send Messages permission to the red X (Deny). Members can still read and react, but only roles you allow can post.
That single toggle is the whole trick. Everything else in this guide is about doing it cleanly so your staff can still post, your announcements can be shared to other servers, and you don't accidentally lock yourself out. Below is the exact click path, plus the difference between a normal locked text channel and a true Announcement channel.
When you want a channel nobody can type in
A read-only channel is the right call any time you want one source of truth and no chatter underneath it:
- #rules so the server rules sit clean at the top with no replies burying them.
- #announcements for official updates from you and your mods.
- #welcome or #start-here that new members read before they get access to the rest of the server.
- #changelog, #updates, or #patch-notes for products and games.
- #faq or #info that you want to stay tidy and authoritative.
In all of these, the goal is the same: members can read it, react to it, and see it in their channel list, but they cannot send messages into it. Discord handles this entirely through channel permission overrides, so you never need a bot just to lock a channel. (A bot helps later, when you want to post nicely formatted content or build all of this in one shot, which we cover at the end.)
Step 1: Open the channel's permission settings
Pick the channel you want to lock, or create a fresh one first.
- Hover over the channel name in your sidebar and click the gear icon (Edit Channel). On mobile, long-press the channel and tap Edit Channel.
- In the channel settings, open the Permissions tab on the left.
- You'll see a list of roles and members with overrides for this specific channel. If the list is short, that's normal, channels start by inheriting everything from your server-wide role settings.
Two things worth knowing before you touch anything:
- Channel overrides beat server-wide settings. Whatever you set here only affects this one channel, which is exactly what you want.
- A red X (Deny) always wins. If a member has any role with Send Messages denied in this channel, they can't type, even if another of their roles allows it. Keep that rule in mind, it explains almost every "why can't my mod post?" confusion later.
If you're still getting comfortable with how roles and overrides stack, our guide on how to set up Discord roles and permissions walks through the full hierarchy in plain terms.
Step 2: Turn off Send Messages for @everyone
This is the step that actually makes the channel read-only.
- In the Permissions tab, click the @everyone role.
- Scroll to find Send Messages under the text permissions.
- Click the permission until it shows the red X (Deny). Each permission cycles through three states: a gray slash (neutral/inherit), a green check (Allow), and a red X (Deny). You want the red X.
- Click Save Changes (or the green checkmark that pops up).
That's it. Every regular member now sees the channel, can read its history, and can react with emoji, but the message box at the bottom is replaced with "You do not have permission to send messages in this channel."
A few extra denies that pair well with a clean read-only channel:
- Add Reactions if you don't even want emoji reactions on your rules.
- Create Public Threads and Send Messages in Threads so nobody can spin up a side conversation off an announcement.
- Use Application Commands if you don't want slash commands fired in there.
For a rules channel, denying threads and reactions usually gives you the cleanest result. For an announcements channel, leaving reactions on is nice, it lets members react to news without cluttering the channel.
Step 3: Let staff still post (role overrides)
Right now nobody can post, including you, unless you're the server owner or have Administrator. To let your team post while keeping everyone else locked out, add a role override.
- Still in the channel's Permissions tab, click the small + next to "Roles/Members" (or Add members or roles).
- Add the role that should be able to post, for example @Staff, @Moderator, or @Admin.
- With that role selected, set Send Messages to the green check (Allow).
- Save changes.
Because Allow on a specific role overrides the @everyone Deny for the members who have that role, your staff get their message box back while regular members stay locked out. If you want only certain people posting announcements, make a dedicated role like @Announcer and allow Send Messages just for that role.
Quick sanity checks if it isn't behaving:
- A mod still can't type? Make sure none of their other roles has Send Messages denied in this channel, a single red X anywhere wins.
- Everyone can still type? Confirm you edited the @everyone role inside the channel's Permissions tab, not a server-wide setting, and that it's a red X, not a gray slash.
- You want bots to post but not people? Allow Send Messages for your bot's role specifically, and leave @everyone denied.
Once this is in place, your channel order matters too, locked #rules and #announcements channels usually belong pinned at the very top of your server. If your layout is messy, see how to organize Discord channels and categories for a sensible top-to-bottom structure.
Announcement channels vs locked text channels
There are two different things people mean by "announcement channel," and they're not the same:
A locked text channel is what you just built, a regular text channel with Send Messages denied for @everyone. It's read-only, simple, and perfect for rules, FAQs, and internal notices. It lives only in your server.
A true Announcement channel is a special channel type Discord offers (you may need Community Mode enabled on your server to use it). When you create or edit a channel, you can set its type to Announcement. These channels are read-only by default for non-staff, and they unlock one extra power: other servers can follow them, and people with the right permission can publish each post out to those followers.
So the rule of thumb:
- Want a clean, locked #rules that lives in your server only? A locked text channel (Steps 1-3 above) is all you need.
- Want #announcements that other communities can follow, or that you can broadcast across servers? Use a real Announcement channel.
You can absolutely run both, a locked #rules text channel and a proper Announcement #announcements channel side by side.
Adding a follow/publish option for announcements
If you converted the channel to the Announcement type, here's how the follow-and-publish flow works:
- Publishing a post: after a message is sent in an Announcement channel, staff with the Manage Messages (or the channel-level publish) permission see a small "Publish" button on it. Clicking it pushes that message out to every server that follows your channel.
- Letting others follow: anyone with Manage Webhooks permission in their server can hit Follow on your Announcement channel and pipe your posts into a channel of their choice. This is how partner servers, project hubs, or networks share one source of news.
- Keeping it controlled: because the channel is still read-only for regular members, only your allowed roles can post in the first place, so nothing un-approved ever gets published.
This is the cleanest way to run cross-server announcements without copy-pasting the same message into ten Discords. Set it up once, post once, and every follower gets it.
Building locked rules and announcement channels automatically
Doing this by hand for one channel is quick. Doing it across a brand-new server, #rules, #announcements, #welcome, #faq, each with the right denies and the right staff overrides, gets repetitive fast. That's where a bot saves real time.
PeakBot is a free, AI-powered Discord bot, and its AI Server Builder can generate a complete server, channels, roles, categories, permissions, and automations, from a plain-English description in under 60 seconds. Tell it "a gaming community with a locked rules channel, an announcements channel only mods can post in, and a welcome channel," and it lays out the structure with the read-only overrides already applied. It's the only Discord bot that builds fully custom server structures from natural language instead of preset templates. The AI Server Builder is a Pro feature ($8.25/month, or $69/year per server).
Even on the free tier, PeakBot covers a lot of what surrounds these channels: welcome messages with embeds and auto-roles for your #welcome channel, unlimited reaction roles so members self-assign access, and context-aware AI moderation that reads message intent per channel instead of matching a fixed keyword list. More than 30 features are free with no time limit, and PeakBot powers 500+ Discord communities.
To be fair about the alternatives: Carl-bot is excellent specifically for reaction-role embeds and is a long-time favorite for self-assign menus; MEE6 has the most recognizable leveling system; Dyno is reliable and cheap for straightforward auto-moderation. PeakBot's pitch is doing all of it, plus AI moderation and the natural-language server builder, in one bot rather than stacking several. You can see a side-by-side on the PeakBot comparison page.
If you're standing up a server from scratch, our full Discord server setup guide for 2026 ties the rules channel, announcements, roles, and onboarding into one walkthrough.
FAQ
How do I make a channel read-only in Discord?
Open the channel's Edit Channel menu, go to the Permissions tab, select the @everyone role, and set Send Messages to the red X (Deny), then save. Members can still read and react, but they can't type. Add a role override with Send Messages allowed for your staff so they can still post.
Why can't my moderators post in the locked channel?
Almost always because one of their roles still has Send Messages denied in that channel. A red X (Deny) on any role a member holds overrides a green Allow on another. Check every role they have for a deny on Send Messages in that channel, or give your staff a dedicated role with Send Messages explicitly allowed.
What's the difference between a locked text channel and an Announcement channel?
A locked text channel is a normal channel with Send Messages denied for @everyone, it's read-only and lives only in your server. An Announcement channel is a special channel type (it may require Community Mode) that's read-only by default and lets other servers follow it and lets staff publish posts out to those followers.
Can members still react to messages in a read-only channel?
Yes, by default. Denying Send Messages only stops typing, not reactions. If you also want to block emoji reactions, deny the Add Reactions permission for @everyone in that channel's Permissions tab.
Do I need a bot to make a read-only channel?
No. Read-only channels are built entirely with Discord's native permission overrides, no bot required. A bot like PeakBot is useful for the next step: posting polished announcement embeds, or building the whole server, with locked rules and announcement channels already set up, in one go.
