How to Set Discord Read Message History Permission Without Send Messages
🔍 WiseChecker

How to Set Discord Read Message History Permission Without Send Messages

If you manage a Discord server, you sometimes need to let members read past conversations without letting them type new messages. This is common for announcement channels, support archives, or read-only news feeds. The default permission system treats reading message history and sending messages as separate switches. This article shows you exactly how to configure a role so users can scroll through old messages but cannot send new ones.

Key Takeaways: Setting Read Message History Without Send Messages

  • Server Settings > Roles > Permissions: Disable Send Messages while keeping Read Message History enabled at the role level.
  • Channel-specific overwrites: Override the role permissions for a single channel using the channel Edit Channel > Permissions menu.
  • @everyone role baseline: Ensure the @everyone role does not grant Send Messages in the target channel to prevent accidental permission inheritance.

ADVERTISEMENT

Understanding Read Message History and Send Messages Permissions

Discord permissions are divided into three categories: general, text channel, and voice channel. The two permissions you need to manage are both text channel permissions.

Read Message History lets a user scroll up and view messages posted before they joined the channel or before they loaded the client. Without this permission, a user can only see messages sent while they are in the channel and actively viewing it.

Send Messages controls whether a user can type and post new messages in the channel. When disabled, the user cannot use the text input box at the bottom of the channel.

These two permissions are independent. You can enable one without the other. The only requirement is that the user must have the Read Channels permission enabled, otherwise they cannot see the channel at all.

Prerequisites

Before you start, make sure you have the following:

  • Manage Server permission on the Discord server. This is required to edit roles and channel permissions.
  • A role that you want to configure. You can create a new role or edit an existing one.
  • A text channel where you want to apply the read-only setting.

Steps to Set Read Message History Without Send Messages

You can configure this at the role level, which applies to all channels the role can see. For a single channel, use channel-specific permission overwrites.

Method 1: Configure at the Role Level (Applies to All Channels)

  1. Open Server Settings
    Click the server name at the top left of your Discord client. From the dropdown menu, select Server Settings.
  2. Go to the Roles tab
    In the left sidebar, click Roles. Find the role you want to edit and click on it.
  3. Navigate to Permissions
    In the role editor, click the Permissions tab on the left.
  4. Enable Read Message History
    Scroll to the Text Channel Permissions section. Find Read Message History and toggle it to the green checkmark (ON).
  5. Disable Send Messages
    In the same section, find Send Messages and toggle it to the red X (OFF).
  6. Save Changes
    Click the Save Changes button at the bottom of the page. The role now has read-only access to all text channels it can view.

Method 2: Configure for a Single Channel Using Overwrites

  1. Open the channel Edit menu
    Right-click the text channel name in the channel list. Select Edit Channel from the context menu.
  2. Go to the Permissions tab
    In the channel settings, click the Permissions tab on the left.
  3. Add a role overwrite
    Under Roles/Members, click the + icon. Type the name of the role you want to configure and select it from the list.
  4. Set the overwrite permissions
    A new row appears for that role. In the Text Permissions section, find Read Message History and click the green checkmark (ALLOW). Find Send Messages and click the red X (DENY).
  5. Save the overwrite
    Click Save Changes at the bottom. The channel now enforces read-only access for that role, regardless of the role’s base permissions.

ADVERTISEMENT

Common Mistakes, Limitations, and Things to Avoid

Role permission inheritance and the @everyone role

If the @everyone role has Send Messages enabled for the channel, any member who is not assigned a higher role will still be able to send messages. To prevent this, set Send Messages to DENY for the @everyone role in the channel’s permission overwrites. Then create a separate role with Send Messages allowed for members who should be able to type.

Users cannot see the channel at all

If a user reports that the channel is invisible, they likely lack the Read Channels permission. This permission is in the General Permissions section. Without it, no other text or voice permissions apply because the channel is hidden.

Read Message History is enabled but the user still cannot see old messages

This usually happens when the channel has a slow mode delay or the user is viewing the channel from a mobile device with poor connectivity. Refresh the client by pressing Ctrl+R (Windows) or Cmd+R (Mac). If the issue persists, check that the role has Read Message History set to ALLOW and no other role has it set to DENY. Deny overwrites take priority over allow overwrites.

Bot accounts ignore these permissions

Bots with the Administrator permission or the Manage Messages permission can bypass the Send Messages restriction. If you want a bot to be read-only, remove its Administrator permission and only grant the permissions it needs to function, such as Read Messages and Read Message History.

Discord Read Message History and Send Messages: Permission Comparison

Item Read Message History (ON) Read Message History (OFF)
Can view messages sent before joining Yes No
Can view messages sent while viewing Yes Yes
Can use search in the channel Yes No
Can see pinned messages Yes No
Can send new messages (Send Messages OFF) No No

This table shows that disabling Read Message History removes the ability to scroll through past messages and search, while leaving it enabled gives full read access regardless of the Send Messages setting.

You can now create read-only channels on your Discord server by configuring the Read Message History and Send Messages permissions. Use the role-level method for a consistent policy across many channels, or use channel overwrites for a single archive or announcement channel. As an advanced tip, consider adding a separate role for moderators that has Send Messages allowed even in read-only channels so they can post announcements without switching roles.

ADVERTISEMENT