Make a Discord Text Channel Read-Only With Permissions
Source-checked · About 10 minutes
Answer
Make a Discord channel read-only by allowing the reader role to view the channel and read history while denying Send Messages, then test with a non-administrator account. Administrator permissions override ordinary channel restrictions.
Decide which role should read and which role may post before changing the channel. Check whether the channel inherits permissions from a category, because a later sync can replace channel-specific choices.
Open the text channel, choose Edit Channel, then select Permissions. Select the relevant reader role instead of applying a broad change to every member.
3
Allow reading
For the reader role, allow View Channel and Read Message History. These controls let the role see the channel and its existing messages.
4
Deny posting
For the reader role, deny Send Messages. Review related permissions such as Create Public Threads, Add Reactions, and Use Application Commands if the goal is a genuinely announcement-only channel.
5
Preserve staff access
Select the staff or moderator role and explicitly allow the posting permissions it needs. Do not rely on an administrator account to prove ordinary roles can post.
6
Test the effective result
Use View Server As Role when available or a non-admin test account. Confirm the reader can see history but cannot send, react, create a thread, or use a command that you meant to restrict.
7
Verify category behavior
If the channel is synchronized with a category, verify the category permissions after saving. Document any intentional member-specific override so a future sync does not surprise staff.
Video walkthrough
If it does not work
If a reader can still post, inspect every role that member has; another role can allow Send Messages and override the intended result.
If an administrator can post in a test, that does not show the channel failed. Test an account without Administrator permission.
ⓘ Sources and verification
Checked against official documentation on . Scope: Platform not recorded.
Follow the linked first-party guidance if labels differ after a platform or app update.