REST API endpoints for Discord Auto Moderation rules.
All functions return {:ok, result} or {:error, reason}.
Summary
Functions
Creates an Auto Moderation rule in a guild.
Deletes an Auto Moderation rule.
Gets a single Auto Moderation rule by ID.
Lists all Auto Moderation rules for a guild.
Modifies an Auto Moderation rule.
Functions
@spec create(String.t() | integer(), map()) :: {:ok, EDA.AutoMod.t()} | {:error, term()}
Creates an Auto Moderation rule in a guild.
Parameters
guild_id- The guild IDparams- Map with::name- Rule name (required, max 100 chars):event_type- Event type (required, 1 = message_send, 2 = member_update):trigger_type- Trigger type (required, seeEDA.AutoMod):trigger_metadata- Trigger metadata map (optional, varies by trigger type):actions- List of action maps (required):enabled- Whether the rule is enabled (optional, default false):exempt_roles- List of exempt role IDs (optional, max 20):exempt_channels- List of exempt channel IDs (optional, max 50)
Returns an EDA.AutoMod struct.
Deletes an Auto Moderation rule.
@spec get_rule(String.t() | integer(), String.t() | integer()) :: {:ok, EDA.AutoMod.t()} | {:error, term()}
Gets a single Auto Moderation rule by ID.
Returns an EDA.AutoMod struct.
@spec list(String.t() | integer()) :: {:ok, [EDA.AutoMod.t()]} | {:error, term()}
Lists all Auto Moderation rules for a guild.
Returns a list of EDA.AutoMod structs.
@spec modify(String.t() | integer(), String.t() | integer(), map()) :: {:ok, EDA.AutoMod.t()} | {:error, term()}
Modifies an Auto Moderation rule.
Accepts the same parameters as create/2 (all optional).
Returns an EDA.AutoMod struct.