Protection overview
Protection checks eligible server messages against enabled filters and can delete, warn, or escalate a match.
Before you start
Section titled “Before you start”Sign in, select your server and open Protection. You must own the server or have Manage Server permission. Some filters require Premium; check the filter’s availability in your server. The Worker skips processing unless April has both Kick Members and Ban Members server permissions; deleting a message also requires Manage Messages, while a timeout requires Moderate Members. Other actions require their respective Discord permissions and role hierarchy. Availability depends on the running deployment.
Configure a filter
Section titled “Configure a filter”- Turn Active on. Open More options > General setting to open its edit form, review the general permissions and save. Return to the filter list, select Edit for a filter, enable it and set its detection options.
- Review global and filter-specific role and channel permissions. The displayed labels conflict with their actual behavior: Roles allowed to bypass this filter and Channels ignored by this filter process only listed IDs (Allow); Roles checked by this filter and Channels checked by this filter exclude listed IDs (Deny). An empty Allow list processes nobody; an empty Deny list permits all. Both scopes must allow the message, and banword entries add another scope. For example, to process messages only in a neutral
test-moderationchannel, select Channels ignored by this filter and list that channel; verify the role scope also permits the tester. Check the saved rule carefully before enabling it. - Choose immediate Delete and/or Warn sanctions. Configure automated actions and messages only if needed.
- Save. In an authorized test channel, use a harmless message and check the protection log and Discord outcome.
For example, configure the emoji filter with maximum 10 and a Delete sanction. Eleven recognized emoji should match; ten should not. Deletion requires Discord channel permissions and is attempted, not guaranteed. Only the first matching filter processes a message.

The local dashboard shows Protection inactive; the filter edit routes were inspected separately.

Unsaved general settings show the role and channel choices; check their actual behavior above before saving.
Check and recover
Section titled “Check and recover”If the dashboard is disabled, check Active and access to the server. The dashboard gate and Worker behavior differ: the Worker does not check the default setting’s enabled flag, so disable individual filters when you need to stop their processing. If nothing happens, check the saved filter state, Premium availability, both permission scopes, bot permissions, the filter threshold and whether another filter matched first. Open More options > Logs to inspect protection records; loading, empty and error states do not prove that no action occurred, so check the date range and retry. Bot-authored and empty messages are excluded. A member with both Administrator and Manage Server is skipped. A false positive can be addressed by disabling or adjusting the filter or its exclusions, then reviewing the protection log and restoring content manually if appropriate. Protection logs are separate from event logs. No Discord command is required for this workflow.

An empty local protection log is a table state, not proof of successful moderation.
See the filter pages for matching boundaries and provider limitations.