This repository was archived by the owner on Aug 18, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
This repository was archived by the owner on Aug 18, 2024. It is now read-only.
Moderation alerts #4
Copy link
Copy link
Open
Description
Overview
Guild members should be able to report rule-breaking messages to moderators by reacting with an alert emoji. This will help keep the community safe and ensure that moderators are aware of any issues that may arise.
Context
Reporting messages is an important feature for maintaining a healthy community. By providing members with a simple way to report messages, we can ensure that rule-breaking behavior is addressed quickly and efficiently. Additionally, this feature can help build trust within the community by showing that moderators are actively monitoring and addressing issues.
Functionality
The functionality of this feature can be broken down into the following sections:
Triggering Alerts
- Alerts are triggered when a member reacts with an alert emoji on a message.
- Alerts are not triggered by self-reactions, bots, or staff.
- Alerts are not triggered on bots or staff.
- If the message has already been reported, the alert is not triggered.
- Reported messages containing certain features should have flags added to alerts, including but not limited to: Attachment, Reply, Deleted, Flooding.
Resolving Alerts
- Once an alert is resolved, it is logged containing the reported message content, action taken, and the moderator that reviewed said alert.
- If a moderator deletes a reported message, they will be listed as the reviewer, and nobody besides them (and other configured roles) will be able to interact with the alert.
- The action row of an alert must contain the following button components: Resolve, Mute (30m), Mute (1h), Infractions, User Info.
- If the reported message is deleted, the Jump to Message URL should redirect to the log of the deleted message instead.
Other Functionality
- If the reported user gets banned, all of their alerts are cleared.
- A notice is sent in the configured channel if the oldest alert hasn't been resolved for the configured amount of time.
- If a different message with the same content (by the same user) is already reported, a counter is incremented on the existing alert instead.
- The following information should be cached per alert: messageId, messageContent, channelId, userId, createdAt.
Configuration Examples
Emojis
[emojis]
alert = "<:alert:123456789123456789>"
# other propertiesalert: Either a default Discord emoji (e.g.:warning:) or a custom emoji (format:<:emoji-name:ID>) that would be used to trigger alerts
Moderation Alerts
[moderationAlerts]
enabled = true
channelId = "123456789123456789"
notice = "2h"
expiration = "1d"
excludedRoles = ["123456789123456789"]
clearOnBan = trueenabled: Whether the feature is enabled or not.channelId: The ID of the channel where alerts should be sent.notice: The maximum amount of time an alert can remain unresolved before a notice is sent to the alert channel.expiration: The maximum amount of time an alert can remain unresolved before being removed.excludedRoles: A list of role IDs that should be excluded from being able to report messages.clearOnBan: Whether all alerts for a user should be cleared when they are banned.
Dependencies
The following dependencies are required for full implementation:
- Message delete logs: To ensure that the Jump to Message URL redirects to the log of the deleted message instead of the original message.
- Member ban logs: To clear all alerts for a user when they are banned.
- Quick mutes (30 minutes) and (1 hour): To provide moderators with a way to resolve urgent alerts instantly.
- User info: To provide moderators with easy access to information about the reported user.
- Infraction search: To allow moderators to easily search for past infractions of the reported user.
Layout Example
Metadata
Metadata
Assignees
Labels
No labels
