# Discord Bot

Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, and user engagement to enhance community interactions

- **Category:** team chat
- **Auth:** OAUTH2
- **Composio Managed App Available?** Yes
- **Tools:** 165
- **Triggers:** 0
- **Slug:** `DISCORDBOT`
- **Version:** 20260312_00

## Tools

### Add recipient to group channel

**Slug:** `DISCORDBOT_ADD_GROUP_DM_USER`

Adds a user to a Discord group Direct Message (DM) channel. IMPORTANT: This action requires a user OAuth2 access token with the 'gdm.join' scope in the access_token parameter. Bot tokens cannot be used for this endpoint as bots cannot join or manage group DMs per Discord's API limitations. The user being added must also have authorized your application with the gdm.join scope. Note: This endpoint was designed for the deprecated GameBridge SDK and may have limited functionality.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `nick` | string | No | Nickname for the user in the group DM. Uses user's default display name if not provided. |
| `user_id` | string | Yes | ID of the user to add to the group DM channel. |
| `channel_id` | string | Yes | ID of the group DM channel to add the user to. |
| `access_token` | string | No | Access token of the user being added; must have the `gdm.join` OAuth2 scope. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add guild member

**Slug:** `DISCORDBOT_ADD_GUILD_MEMBER`

Adds a user (who is not already a member) to a guild using their `access_token` (which must have `guilds.join` scope), optionally setting nickname, roles, mute/deaf status, or flags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `deaf` | boolean | No | Whether the user should be server deafened in voice channels. Requires `DEAFEN_MEMBERS` permission for the bot if setting this. |
| `mute` | boolean | No | Whether the user should be server muted in voice channels. Requires `MUTE_MEMBERS` permission for the bot if setting this. |
| `nick` | string | No | Nickname to set for the user in this guild. If `null` or empty, no nickname is set. |
| `flags` | integer | No | Member flags to set. Refer to Discord API for values. Setting certain flags might require `MODERATE_MEMBERS` permission. |
| `roles` | array | No | List of role IDs (strings) to assign. **Important**: Value must be a list of role ID strings, despite the schema's type hint. |
| `user_id` | string | Yes | ID of the user to add. |
| `guild_id` | string | Yes | ID of the guild to add the user to. |
| `access_token` | string | Yes | OAuth2 access token for the user, with `guilds.join` scope, to authorize adding them to the guild. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Assign role to guild member

**Slug:** `DISCORDBOT_ADD_GUILD_MEMBER_ROLE`

Assigns a role to a guild member, provided the bot has 'Manage Roles' permission in the guild and the role to be assigned is hierarchically lower than the bot's highest role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | The unique identifier of the Discord role to be assigned to the member. |
| `user_id` | string | Yes | The unique identifier of the Discord user (member) to whom the role will be added. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) where the member and role exist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add reaction to message

**Slug:** `DISCORDBOT_ADD_MY_MESSAGE_REACTION`

Adds an emoji reaction (Unicode or custom) from the authenticated bot to a specific message in a Discord channel. Returns 204 No Content on success. Requires READ_MESSAGE_HISTORY permission, and ADD_REACTIONS permission if no one else has reacted with this emoji yet. Supports both Unicode emojis (e.g., 👍) and custom server emojis using 'name:id' format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | Unique identifier (snowflake ID) of the Discord channel containing the message. |
| `emoji_name` | string | Yes | Emoji to use for the reaction. For Unicode emojis, use the emoji character itself (e.g., '👍', '❤️'). For custom server emojis, use the format 'name:id' (e.g., 'myemoji:123456789012345678'). The emoji will be automatically URL-encoded. |
| `message_id` | string | Yes | Unique identifier (snowflake ID) of the message to react to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add thread member

**Slug:** `DISCORDBOT_ADD_THREAD_MEMBER`

Adds a user to a specific, unarchived thread; the user must have access to the thread's parent channel, and for private threads, the bot must already be a member.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID (snowflake) of the Discord user to add to the thread. The user must have access to the thread's parent channel. For private threads, the bot must already be a member. |
| `channel_id` | string | Yes | The ID (snowflake) of the thread channel to which the user will be added. The thread must not be archived, and the bot must have permission to send messages in it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Ban user from guild

**Slug:** `DISCORDBOT_BAN_USER_FROM_GUILD`

Permanently bans a user from a Discord guild, optionally deleting their recent messages (specify deletion period in seconds OR days, not both).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Unique identifier of the Discord user to be banned. |
| `guild_id` | string | Yes | Unique identifier of the Discord guild (server). |
| `delete_message_days` | integer | No | Number of days (0-7) of the user's past messages to delete; use this OR `delete_message_seconds`. |
| `delete_message_seconds` | integer | No | Number of seconds (0-604800, i.e., 7 days) of the user's past messages to delete; use this OR `delete_message_days`. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk ban users in guild with message deletion option

**Slug:** `DISCORDBOT_BULK_BAN_USERS_FROM_GUILD`

Bans up to 200 users from a Discord guild, optionally deleting their recent messages; the bot must have 'Ban Members' permission in the guild, and this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which users will be banned. |
| `user_ids` | array | Yes | IDs of users to ban from the guild (maximum 200). |
| `delete_message_seconds` | integer | No | Number of seconds of messages (0-604800, i.e., 0 seconds to 7 days) to delete for banned users. If omitted or set to 0, no messages are deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Bulk delete messages in channel

**Slug:** `DISCORDBOT_BULK_DELETE_MESSAGES`

Atomically bulk deletes messages in a Discord channel for moderation or maintenance; deletion may not be instantaneous and messages are unrecoverable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `messages` | array | Yes | A list of unique message IDs to be deleted from the specified channel. This list must contain between 2 and 100 message IDs. All messages must be less than two weeks old; older messages must be deleted individually. |
| `channel_id` | string | Yes | The unique identifier of the Discord channel from which messages will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create application command objects

**Slug:** `DISCORDBOT_CREATE_APPLICATION_COMMAND`

Creates a new global Discord application command, accessible across guilds and in DMs (if `dm_permission` is true), noting global commands can take up to an hour to propagate and have registration limits; for guild-specific commands, use a different action.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | 1-32 characters. For USER and MESSAGE commands, this is the label displayed in the context menu. Must be unique for the application in its scope (global or guild). |
| `type` | integer | No | Command type. Defaults to 1 (CHAT_INPUT). Others: 2 (USER), 3 (MESSAGE). |
| `options` | array | No | For CHAT_INPUT commands: array of command options/parameters (max 25). Each option must have 'name' (string), 'description' (string), 'type' (int: 1=SUB_COMMAND, 2=SUB_COMMAND_GROUP, 3=STRING, 4=INTEGER, 5=BOOLEAN, 6=USER, 7=CHANNEL, 8=ROLE, 9=MENTIONABLE, 10=NUMBER, 11=ATTACHMENT), and optionally 'required' (bool), 'choices' (array), 'min_value', 'max_value', 'min_length', 'max_length', 'autocomplete' (bool), 'channel_types' (array of ints), or nested 'options' for subcommands. |
| `description` | string | No | 1-100 characters for CHAT_INPUT commands; displayed to user. For USER/MESSAGE commands, use empty string or omit. |
| `dm_permission` | boolean | No | If command is available in DMs with the app (global commands only). Defaults to true. |
| `application_id` | string | Yes | Unique ID of the Discord application. |
| `name_localizations` | object | No | Localization dictionary for `name`, mapping locale codes to names (1-32 chars each). |
| `description_localizations` | object | No | Localization dictionary for `description`, mapping locale codes to descriptions (1-100 chars each). |
| `default_member_permissions` | string | No | Bitwise permission flags (string) a member needs. '0' for none. Omitted/null means usable by everyone with access. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild auto moderation rule

**Slug:** `DISCORDBOT_CREATE_AUTO_MODERATION_RULE`

Creates a new auto moderation rule for a Discord guild to automatically moderate content. Requires 'MANAGE_GUILD' permission. Use this to set up filters for profanity, spam, excessive mentions, or custom keywords. Each rule has a trigger type (what to look for), trigger metadata (specific configuration), and actions (what to do when triggered).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the rule (1-100 characters). |
| `actions` | array | Yes | The actions which will execute when the rule is triggered (max 5). |
| `enabled` | boolean | No | Whether the rule is enabled (default false). |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) where the auto moderation rule will be created. |
| `eventType` | integer | Yes | The event type that triggers this rule. Values: 1 (MESSAGE_SEND - when a member sends or edits a message in the guild), 2 (MEMBER_UPDATE - when a member edits their profile). |
| `exemptRoles` | array | No | The role IDs that should not be affected by the rule (maximum of 20). |
| `triggerType` | integer | Yes | The type of trigger that determines whether this rule's actions should run. Values: 1 (KEYWORD - check if content contains words from a user defined list of keywords, max 6 per guild), 3 (SPAM - check if content represents generic spam, max 1 per guild), 4 (KEYWORD_PRESET - check if content contains words from internal pre-defined wordsets, max 1 per guild), 5 (MENTION_SPAM - check if content contains more mentions than allowed, max 1 per guild), 6 (MEMBER_PROFILE - check if member profile contains words from a user defined list of keywords, max 1 per guild). |
| `exemptChannels` | array | No | The channel IDs that should not be affected by the rule (maximum of 50). |
| `triggerMetadata` | object | No | Additional metadata associated with the rule's trigger type. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Channel Invite

**Slug:** `DISCORDBOT_CREATE_CHANNEL_INVITE`

Creates a new invite link for the specified Discord channel. The bot must have 'CREATE_INSTANT_INVITE' permission for that channel. Optionally configure the invite's expiration time, usage limit, and other properties. Returns the invite code and details including a shareable invite URL (format: https://discord.gg/{code}).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `unique` | boolean | No | If true, don't try to reuse a similar invite (useful for creating many unique one-time use invites). Defaults to false. |
| `max_age` | integer | No | Duration of invite in seconds before expiry, or 0 for never expires. Must be between 0 and 604800 (7 days). Defaults to 86400 (24 hours). |
| `max_uses` | integer | No | Maximum number of times this invite can be used, or 0 for unlimited. Defaults to 0. |
| `temporary` | boolean | No | Whether this invite only grants temporary membership (users will be kicked after they disconnect unless assigned a role). Defaults to false. |
| `channel_id` | string | Yes | The unique identifier of the Discord channel for which to create the invite. |
| `target_type` | integer | No | The type of target for this voice channel invite. 1 for Stream (user whose stream to display), 2 for Embedded Application (application to open). |
| `target_user_id` | string | No | The ID of the user whose stream to display for this voice channel stream invite. Required if target_type is 1. The user must be streaming in the channel. |
| `target_application_id` | string | No | The ID of the embedded application to open for this voice channel embedded application invite. Required if target_type is 2. The application must have the EMBEDDED flag. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Initiate user channel with recipient

**Slug:** `DISCORDBOT_CREATE_DM`

Creates a new direct message (DM) channel or retrieves an existing one, using `recipient_id` for a 1-on-1 DM or `access_tokens` for a group DM; this action only establishes or fetches the channel and does not send messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `nicks` | object | No | Custom nicknames for users in a group DM. Keys are User IDs (snowflakes), values are nicknames. Only used with `access_tokens`. |
| `recipient_id` | string | No | The User ID (snowflake) for a 1-on-1 DM. Use this OR `access_tokens`, not both. |
| `access_tokens` | array | No | OAuth2 access tokens for users in a group DM (1 to 9 others). Use this OR `recipient_id`, not both. Typically only works with user OAuth tokens, not bot tokens. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create new guild object

**Slug:** `DISCORDBOT_CREATE_GUILD`

Creates a new Discord guild (server) with the specified name, roles, and channels; icon must be a base64 encoded 128x128 image, and if `afk_channel_id` is set, `afk_timeout` must also be set.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | Base64 encoded 128x128 image (JPEG, PNG, or GIF) for the guild icon. |
| `name` | string | Yes | The name of the guild (2-100 characters). |
| `roles` | array | No | Array of role objects for the new guild. The first role in this list (e.g., with placeholder ID 0) is often used to set permissions for the `@everyone` role. |
| `region` | string | No | Voice region ID. This field is deprecated; voice regions are now handled automatically by Discord. |
| `channels` | array | No | Array of channel objects for the new guild. When specifying `permission_overwrites` within these channels, the `id` field refers to a placeholder ID from the `roles` array. |
| `afk_timeout` | null | No | AFK timeout in seconds. After this period of inactivity, users will be moved to the AFK channel. Allowed values: 60, 300, 900, 1800, 3600. |
| `description` | string | No | The description for the guild, if desired. |
| `afk_channel_id` | null | No | The ID of the channel to which AFK users are moved. Must be a voice channel. If provided, `afk_timeout` must also be set. |
| `preferred_locale` | null | No | The preferred locale for a Community guild, used in server discovery and notices from Discord. Defaults to 'en-US'. |
| `system_channel_id` | null | No | The ID of the channel where guild system messages (e.g., welcome messages, server boost notifications) are posted. |
| `verification_level` | null | No | Verification level required for the guild. `0`: None, `1`: Low (verified email), `2`: Medium (registered on Discord >5 mins), `3`: High (member of server >10 mins), `4`: Highest (verified phone). |
| `system_channel_flags` | integer | No | Bitwise value of system channel flags that control which system messages are sent. Consult Discord API documentation for flag values (e.g., suppress join notifications: 1 << 0). |
| `explicit_content_filter` | null | No | Explicit content filter level for the guild. `0`: Disabled, `1`: Members without roles, `2`: All members. |
| `default_message_notifications` | null | No | Default message notification level for new members. `0`: All Messages, `1`: Only @mentions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild application command

**Slug:** `DISCORDBOT_CREATE_GUILD_APPLICATION_COMMAND`

Creates a new guild-specific application command (slash, user, or message) in Discord; command name must be unique per type within the guild (max 100 total commands), and client UI updates may take up to an hour.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the command (1-32 characters). |
| `type` | integer | No | The type of command. Defaults to 1 (CHAT_INPUT) if not set. Other types include USER (2) and MESSAGE (3). |
| `options` | array | No | The parameters for the command, max 25. See Discord API documentation for `ApplicationCommandOption` structure. |
| `guild_id` | string | Yes | The ID of the guild (server). |
| `description` | string | No | The description of the command (1-100 characters). |
| `dm_permission` | boolean | No | Indicates whether the command is available in DMs with the app. Only for globally-scoped commands. |
| `application_id` | string | Yes | The ID of the application. |
| `name_localizations` | object | No | A dictionary of localizations for the command name. The keys should be valid locales, e.g. 'en-US', 'es-ES'. |
| `description_localizations` | object | No | A dictionary of localizations for the command description. The keys should be valid locales, e.g. 'en-US', 'es-ES'. |
| `default_member_permissions` | integer | No | A bitwise OR of permissions a member needs to use this command by default. Set to 0 to disable for everyone except administrators. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild channel

**Slug:** `DISCORDBOT_CREATE_GUILD_CHANNEL`

Creates a new Discord channel (text, voice, category, etc.) within a guild, with options for permissions, topic, and type-specific settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | New channel name (2-100 characters). |
| `nsfw` | boolean | No | Whether the channel is age-restricted. |
| `type` | integer | No | Type of channel (e.g., 0 for GUILD_TEXT, 2 for GUILD_VOICE). See Discord API docs for all types. |
| `topic` | string | No | Channel topic (0-1024 characters for text; 0-120 for forum channels). |
| `bitrate` | integer | No | Bitrate (in bits) for voice channels (8000-96000; 8000-128000 for VIP servers). |
| `guild_id` | string | Yes | ID of the guild (server) to create the channel in. |
| `position` | integer | No | Sorting position of the channel. |
| `parent_id` | string | No | ID of the parent category for this channel. |
| `rtc_region` | string | No | Voice region ID for voice channels (auto if not set). See Discord API docs for regions. |
| `user_limit` | integer | No | Maximum users in a voice channel (0-99, 0 for no limit). |
| `available_tags` | array | No | List of tag objects available in forum/media channels (max 20). Each tag object must have a `name` field (1-20 characters) and may optionally include `moderated` (bool), and at most one of `emoji_id` (custom emoji snowflake) or `emoji_name` (unicode emoji). |
| `default_sort_order` | integer | No | Default sort order for forum posts: 0 for 'Latest Activity', 1 for 'Creation Date'. |
| `video_quality_mode` | integer | No | Camera video quality for voice channels: 1 for auto, 2 for 720p. |
| `rate_limit_per_user` | integer | No | Seconds a user must wait before sending another message (0-21600); bots and users with MANAGE_MESSAGES or MANAGE_CHANNEL permission are unaffected. Known as slowmode. For forum channels, this sets `default_thread_rate_limit_per_user`. |
| `default_forum_layout` | integer | No | Default forum layout for displaying posts: 0 for 'Not Set', 1 for 'List View', 2 for 'Gallery View'. |
| `permission_overwrites` | array | No | Permission overwrite objects for the channel. |
| `default_reaction_emoji` | object | No | Default reaction emoji object for forum/media channels. Must contain exactly one of: `emoji_id` (snowflake ID of custom emoji) or `emoji_name` (unicode emoji character). Example: {'emoji_id': '123456789012345678'} or {'emoji_name': '👍'} |
| `default_auto_archive_duration` | integer | No | Default duration (minutes) for new threads to auto-archive after inactivity (60, 1440, 4320, 10080). For text/announcement channels. |
| `default_thread_rate_limit_per_user` | integer | No | Initial `rate_limit_per_user` for new threads in text channels (not forum channels). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild emoji

**Slug:** `DISCORDBOT_CREATE_GUILD_EMOJI`

Creates a new custom emoji in a specified Discord guild, requiring `CREATE_EXPRESSIONS` permission and adherence to guild emoji limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name for the new emoji. Must be between 2 and 32 characters long and can only contain alphanumeric characters and underscores. |
| `image` | string | Yes | The base64 encoded image data for the emoji. Must be a 128x128px GIF or PNG. For animated emojis, a GIF is required. The data must be URI encoded (e.g., 'data:image/png;base64,BASE64_ENCODED_IMAGE_DATA'). Image size should be less than 256KB. |
| `roles` | array | No | An array of role IDs (strings) to which this emoji will be restricted. If omitted, `None`, or an empty list, the emoji is available to @everyone. |
| `guild_id` | string | Yes | The ID of the Discord guild (server) where the emoji will be created. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post guild template by code

**Slug:** `DISCORDBOT_CREATE_GUILD_FROM_TEMPLATE`

Creates a new Discord guild by applying channels, roles, and settings from a specified, valid, and accessible guild template code.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique code of the guild template to use. |
| `icon` | string | No | Data URI scheme (e.g., `data:image/png;base64,...` or `data:image/jpeg;base64,...`) for the guild's 128x128 icon. |
| `name` | string | Yes | Name for the new guild (must be between 2 and 100 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create role with guild id

**Slug:** `DISCORDBOT_CREATE_GUILD_ROLE`

Creates a new role in a Discord guild with customizable name, permissions, color, hoist, mentionability, and icon; `icon` (custom image hash) and `unicode_emoji` (standard emoji) are mutually exclusive.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | Hash of a custom image for the role's icon (e.g., from a previous Discord upload). Use `unicode_emoji` for standard emojis. |
| `name` | string | No | Name for the new role. If omitted, Discord defaults to 'new role'. |
| `color` | integer | No | RGB color value for the role (e.g., red is `16711680`). Defaults to `0` (no color) if omitted. |
| `hoist` | boolean | No | If `True`, displays the role separately in the user list. Defaults to `False` if omitted. |
| `guild_id` | string | Yes | ID of the Discord guild (server) where the role will be created. |
| `mentionable` | boolean | No | If `True`, this role can be mentioned by others. Defaults to `False` if omitted. |
| `permissions` | integer | No | Bitwise integer for role permissions, combined from [Discord permission flags](https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags) (e.g., 'Manage Channels' 0x4 + 'Kick Members' 0x2 = 6). Default permissions may apply if omitted. |
| `unicode_emoji` | string | No | Standard Unicode emoji for the role's icon (e.g., '🎉'). Use `icon` for custom image hashes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild scheduled event

**Slug:** `DISCORDBOT_CREATE_GUILD_SCHEDULED_EVENT`

Creates a new scheduled event in a Discord guild. Events can be hosted in stage channels, voice channels, or external locations. Required fields vary by entity_type: STAGE_INSTANCE/VOICE require channel_id, while EXTERNAL requires entity_metadata with a location and scheduled_end_time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the scheduled event (1-100 characters). |
| `image` | string | No | The cover image of the scheduled event as a base64 data URI (e.g., 'data:image/png;base64,...'). |
| `guild_id` | string | Yes | The unique identifier of the Discord guild where the event will be created. |
| `channel_id` | string | No | The channel ID where the event will be hosted. Required for STAGE_INSTANCE (1) and VOICE (2) entity types. Must be null for EXTERNAL (3). |
| `description` | string | No | The description of the scheduled event (1-1000 characters). |
| `entity_type` | integer | Yes | The type of hosting entity for the event. Values: 1=STAGE_INSTANCE (stage channel), 2=VOICE (voice channel), 3=EXTERNAL (external location). |
| `privacy_level` | integer | No | The privacy level of the scheduled event. Use 2 for GUILD_ONLY (only accessible to guild members). Default: 2. |
| `entity_metadata` | object | No | Additional metadata for the guild scheduled event. |
| `recurrence_rule` | object | No | The definition for how often this event should recur. |
| `scheduled_end_time` | string | No | The time at which the scheduled event will end (ISO8601 timestamp). Required for EXTERNAL (3) entity type. Optional for others. |
| `scheduled_start_time` | string | Yes | The time the scheduled event will start (ISO8601 timestamp, e.g., '2024-12-31T20:00:00'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild sticker

**Slug:** `DISCORDBOT_CREATE_GUILD_STICKER`

Uploads a PNG, APNG, or Lottie JSON file (max 512KB) as a new custom sticker to the specified Discord guild; requires 'Manage Expressions' permissions and sufficient server boost level for sticker slots.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `file` | object | No | Sticker file to upload. |
| `name` | string | No | Name of the sticker (2-30 characters). |
| `tags` | string | No | Autocomplete suggestion tags (comma-separated, max 200 characters) for the sticker; corresponds to the Discord emoji name. |
| `guild_id` | string | Yes | ID of the guild to create the sticker for. |
| `description` | string | No | Description for the sticker (empty or 2-100 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create guild template

**Slug:** `DISCORDBOT_CREATE_GUILD_TEMPLATE`

Creates a template of an existing Discord guild's structure (settings, roles, channels) but not its content (e.g., messages, members).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the new guild template (1-100 characters). |
| `guild_id` | string | Yes | ID of the existing guild from which to create the template. |
| `description` | string | No | Optional description for the guild template (0-120 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post interaction callback

**Slug:** `DISCORDBOT_CREATE_INTERACTION_RESPONSE`

Sends a response to a Discord interaction (e.g., slash command, component); ensure response type is context-appropriate and initial reply is within 3 seconds.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | object | No | Data payload for interaction callback response |
| `type` | integer | Yes | Type of response: 1 (Pong), 4 (ChannelMessageWithSource), 5 (DeferredChannelMessageWithSource), 6 (DeferredMessageUpdate), 7 (UpdateMessage), 8 (ApplicationCommandAutocompleteResult), 9 (Modal), 12 (LaunchActivity) |
| `interaction_id` | string | Yes | ID of the originating user interaction (e.g., slash command, button, or other component). |
| `interaction_token` | string | Yes | Temporary, single-use token for responding to the interaction, valid for 15 minutes from the initial interaction event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post message to channel

**Slug:** `DISCORDBOT_CREATE_MESSAGE`

Sends a message to a specified Discord channel (text, embeds, stickers, components, attachments); requires `SEND_MESSAGES` permission and one of `content`, `embeds`, `sticker_ids`, or `attachments`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tts` | boolean | No | Send as a text-to-speech (TTS) message. Use sparingly. |
| `flags` | integer | No | Bitwise value for message flags (e.g., 4 for `SUPPRESS_EMBEDS`, 64 for `EPHEMERAL` making message visible only to invoker). |
| `nonce` | integer | No | Unique integer (0 to 2^53-1) to confirm message sending and prevent duplicates. |
| `embeds` | array | No | Up to 10 embed objects. Combined character count across all embed attributes must not exceed 6000. |
| `content` | string | No | Message text (max 2000 chars). Required if `embeds`, `sticker_ids`, `components`, or `attachments` are empty. |
| `channel_id` | string | Yes | ID of the target channel. |
| `components` | array | No | Message components (e.g., buttons, select menus), up to 5 action rows. See Discord API docs for structure. |
| `attachments` | array | No | Attachment objects describing files for the message. Requires `multipart/form-data` request. |
| `sticker_ids` | array | No | Up to 3 IDs of stickers accessible to the bot. |
| `allowed_mentions` | object | No | Controls which mentions in `content` ping recipients. See Discord API docs for structure if customizing. |
| `message_reference` | object | No | For replying to an existing message. Requires `message_id`. See Discord API docs for full structure (includes `channel_id`, `guild_id`, `fail_if_not_exists`). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Stage Instance

**Slug:** `DISCORDBOT_CREATE_STAGE_INSTANCE`

Creates a new Stage instance in a Stage channel (channel type 13) for hosting live audio events with speakers and listeners. Requires MANAGE_CHANNELS, MUTE_MEMBERS, and MOVE_MEMBERS permissions. A Stage channel can only have one active Stage instance at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `topic` | string | Yes | The topic/title for the Stage instance (1-120 characters). This appears as the stage's headline. |
| `channel_id` | string | Yes | The ID of the Stage channel (type 13) where the Stage instance will be created. Must be a valid snowflake ID. |
| `privacy_level` | integer | No | The privacy level of the Stage instance: `1` for PUBLIC (deprecated), `2` for GUILD_ONLY. Defaults to `2` (GUILD_ONLY) if not provided or `None`. |
| `send_start_notification` | boolean | No | Whether to send a notification to @everyone when the Stage starts. Requires `MENTION_EVERYONE` permission. Defaults to `False` if not provided. |
| `guild_scheduled_event_id` | string | No | Optional ID of a Guild Scheduled Event to associate with this Stage instance. Must be a valid snowflake ID or `None` for no association. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create new thread in channel

**Slug:** `DISCORDBOT_CREATE_THREAD`

Creates a new thread in a text or announcement Discord channel; requires a 'name' and optionally other details (e.g., 'auto_archive_duration', an initial 'message') in the request body.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name of the thread (1-100 characters). |
| `type` | integer | No | The type of thread to create. 10 for ANNOUNCEMENT_THREAD (requires announcement channel), 11 for PUBLIC_THREAD, or 12 for PRIVATE_THREAD (requires server boost level 2). Defaults based on parent channel type. |
| `message` | object | No | The initial message to send in the thread. Required for forum and media channels. Should contain 'content' (string), 'embeds' (array), or other message fields. |
| `invitable` | boolean | No | Whether non-moderators can add other non-moderators to the thread. Only applicable for private threads (type 12). |
| `channel_id` | string | Yes | The ID of the Discord channel in which the new thread will be created. |
| `applied_tags` | array | No | Array of tag IDs to apply to the thread. Only applicable for forum and media channels. |
| `rate_limit_per_user` | integer | No | Amount of seconds a user has to wait before sending another message (0-21600); also applies to thread creation. Requires MANAGE_THREADS permission if set. |
| `auto_archive_duration` | integer | No | Duration in minutes to automatically archive the thread after recent activity. Must be one of: 60, 1440, 4320, or 10080. Defaults to the parent channel's default_auto_archive_duration. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create thread from message

**Slug:** `DISCORDBOT_CREATE_THREAD_FROM_MESSAGE`

Creates a new thread from a specific message in a Discord channel, requiring `CREATE_PUBLIC_THREADS` permission (and `SEND_MESSAGES` if in a forum/media channel).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | The name for the new thread (1-100 characters). |
| `channel_id` | string | Yes | The ID of the channel where the message exists and the new thread will be created. |
| `message_id` | string | Yes | The ID of the message from which to create the new thread. |
| `rate_limit_per_user` | integer | No | Amount of seconds a user must wait before sending another message in the thread (0-21600). Bots and users with `MANAGE_MESSAGES` or `MANAGE_CHANNELS` permissions are exempt. If omitted, no user-specific rate limit is applied beyond channel defaults. |
| `auto_archive_duration` | integer | No | Duration in minutes after which the thread automatically archives due to inactivity. Accepted values: 60 (1 hour), 1440 (1 day), 4320 (3 days), 10080 (7 days). If omitted, it defaults to the channel's settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create channel webhook

**Slug:** `DISCORDBOT_CREATE_WEBHOOK`

Creates a webhook in a specified Discord channel for external applications to post messages, provided the caller has 'MANAGE_WEBHOOKS' permission in that channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name for the webhook (1-80 characters). |
| `avatar` | string | No | Base64 encoded image data string for the webhook's avatar (e.g., 'data:image/jpeg;base64,...'). |
| `channel_id` | string | Yes | ID of the channel to create the webhook in. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Crosspost channel message

**Slug:** `DISCORDBOT_CROSSPOST_MESSAGE`

Crossposts a message from an announcement channel to all following channels, provided the message has not been previously crossposted and is not a system message or a message sent by a webhook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier of the announcement channel (News Channel) containing the message to be crossposted. |
| `message_id` | string | Yes | The unique identifier of the message within the specified announcement channel that is to be crossposted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete all reactions from message

**Slug:** `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS`

Deletes all reactions from a message in a Discord channel. This removes reactions from all users, not just the bot. Requires the bot to have the 'MANAGE_MESSAGES' permission in the channel. Returns HTTP 204 No Content on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the channel containing the message (Discord snowflake format). |
| `message_id` | string | Yes | The ID of the message from which to delete all reactions (Discord snowflake format). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel message reaction by emoji

**Slug:** `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI`

Removes all reactions for a specific emoji from a message in a Discord channel. This action deletes all user reactions for a given emoji on a specific message. It requires the bot to have the MANAGE_MESSAGES permission in the channel. The operation is irreversible and will fire a Message Reaction Remove Emoji Gateway event. Common use cases: - Cleaning up unwanted reactions from a specific emoji - Managing reactions in moderation scenarios - Resetting poll or voting mechanisms that use reactions Note: This removes ALL user reactions for the specified emoji, not just the bot's reaction. To remove only the bot's reaction, use the delete_my_message_reaction action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier (snowflake ID) of the Discord channel containing the message. Must be a valid channel where the bot has MANAGE_MESSAGES permission. |
| `emoji_name` | string | Yes | The emoji for which all reactions should be removed. For standard Unicode emojis, provide the URL-encoded emoji character (e.g., '%F0%9F%91%8D' for 👍, '%E2%9D%A4%EF%B8%8F' for ❤️). For custom server emojis, use the format 'name:id' (e.g., 'myemote:123456789012345678'). The emoji must be properly encoded or the request will fail with error 10014: Unknown Emoji. |
| `message_id` | string | Yes | The unique identifier (snowflake ID) of the message from which all reactions for the specified emoji will be removed. The message must exist in the specified channel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete application command

**Slug:** `DISCORDBOT_DELETE_APPLICATION_COMMAND`

Permanently deletes a global application command (slash command, user command, or message command) from your Discord bot. This action is irreversible and removes the command globally. The command will no longer appear in Discord clients. To delete guild-specific commands, use the delete_guild_application_command action instead. Note: This deletes global commands which can take up to 1 hour to fully propagate across all Discord clients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `command_id` | string | Yes | The unique identifier (Snowflake ID) of the application command to permanently delete. You can get this from the 'id' field when creating or listing application commands. |
| `application_id` | string | Yes | The unique identifier (Snowflake ID) of the Discord application that owns the command. This is your bot's application ID, visible in the Discord Developer Portal under General Information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild auto moderation rule

**Slug:** `DISCORDBOT_DELETE_AUTO_MODERATION_RULE`

Deletes a specific auto-moderation rule from a Discord guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | The unique identifier of the auto-moderation rule to be deleted. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) where the auto-moderation rule is located. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel by id

**Slug:** `DISCORDBOT_DELETE_CHANNEL`

Permanently deletes a Discord channel by its ID; this action is irreversible and the channel must exist and be deletable.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier of the Discord channel to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel permission override

**Slug:** `DISCORDBOT_DELETE_CHANNEL_PERMISSION_OVERWRITE`

Removes channel-specific permission overwrites for a user or role, reverting them to default permissions inherited from the server or category. Requires MANAGE_ROLES permission. Only works for guild channels (not DMs). Use this to revoke special channel access or restrictions previously set via permission overwrites. Fires a Channel Update Gateway event. Returns 204 No Content on success. This action is irreversible - to restore permissions, you must recreate the overwrite.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | ID of the Discord channel (must be a guild channel, not a DM) from which the permission overwrite will be removed. The bot must have MANAGE_ROLES permission in this channel. |
| `overwrite_id` | string | Yes | ID of the user or role whose permission overwrite will be deleted from the channel. This reverts their permissions to the default inherited from the server or category. Use a user ID (snowflake) to remove per-user permissions, or a role ID to remove per-role permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove user from group DM

**Slug:** `DISCORDBOT_DELETE_GROUP_DM_USER`

Remove a recipient from a Discord group DM channel. Removes a user from a group DM channel (type 3), revoking their access. This action fires a Channel Recipient Remove Gateway event when successful. **Important**: This endpoint requires OAuth2 user access tokens with the 'gdm.join' scope. Bot tokens cannot access group DM functionality as Discord bots cannot participate in group DM channels. Only the group DM owner or managing application can remove recipients.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user to be removed from the group DM channel. Must be a current recipient of the group DM. |
| `channel_id` | string | Yes | The unique identifier of the group DM channel (type 3) from which the user will be removed. Must be a channel accessible to the authenticated user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild by id

**Slug:** `DISCORDBOT_DELETE_GUILD`

Permanently deletes a specified Discord guild (server); the authenticated user must be the owner of the guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) to be deleted. This ID can be obtained through other API endpoints or by enabling Developer Mode in Discord user settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild command

**Slug:** `DISCORDBOT_DELETE_GUILD_APPLICATION_COMMAND`

Permanently deletes a specific application command (e.g., slash, user, or message) for an application from a Discord guild, used to remove outdated or unnecessary commands.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique ID of the guild (server) from which the command is to be deleted. |
| `command_id` | string | Yes | The unique ID of the command to be deleted. |
| `application_id` | string | Yes | The unique ID of the application whose command is to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild emoji by id

**Slug:** `DISCORDBOT_DELETE_GUILD_EMOJI`

Permanently deletes a specified custom emoji from a guild, requiring 'Manage Expressions' permissions; cannot delete default emojis and is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emoji_id` | string | Yes | The unique identifier of the custom emoji to be deleted from the guild. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which the emoji will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild integration

**Slug:** `DISCORDBOT_DELETE_GUILD_INTEGRATION`

Permanently deletes a specific integration from a Discord guild, removing any associated webhooks and kicking the bot if present. Requires MANAGE_GUILD permission. Important: Bots can only delete their own integration; attempting to delete other integrations returns 403 Missing Access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | Optional reason for deleting the integration, shown in the guild's audit log. Maximum 512 characters. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which the integration will be deleted. |
| `integration_id` | string | Yes | The unique identifier of the integration to be deleted from the guild. Note: Bots can only delete their own integration; attempting to delete other integrations returns 403 Missing Access. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild member by id

**Slug:** `DISCORDBOT_DELETE_GUILD_MEMBER`

Removes (kicks) a member from a Discord guild; the user must be an existing member of the specified guild, and this action is permanent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the user to be removed from the guild. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which the member will be removed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild member role

**Slug:** `DISCORDBOT_DELETE_GUILD_MEMBER_ROLE`

Removes a specified role from a member of a Discord guild. This action requires the bot to have the MANAGE_ROLES permission in the guild, and the role being removed must be hierarchically lower than the bot's highest role. The operation is idempotent - it succeeds (HTTP 204) even if the member does not currently have the specified role. Fires a Guild Member Update Gateway event when successful.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | The unique identifier (snowflake ID) of the role to be removed from the specified guild member. The role must be hierarchically lower than the bot's highest role in the guild. |
| `user_id` | string | Yes | The unique identifier (snowflake ID) of the user (member) whose role is to be removed. The user must be a member of the specified guild. |
| `guild_id` | string | Yes | The unique identifier (snowflake ID) of the Discord guild (server) from which the member's role will be removed. Must be a guild where the bot has MANAGE_ROLES permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete role from guild

**Slug:** `DISCORDBOT_DELETE_GUILD_ROLE`

Permanently deletes a specified role from a Discord guild, revoking it from all members; requires 'Manage Roles' permission and the target role must be lower in hierarchy than the bot's highest role.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role_id` | string | Yes | Identifier of the role to be deleted from the specified guild. |
| `guild_id` | string | Yes | Identifier of the Discord guild (server) from which the role is to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild scheduled event

**Slug:** `DISCORDBOT_DELETE_GUILD_SCHEDULED_EVENT`

Permanently deletes a specific scheduled event from a Discord guild; this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | ID of the Discord guild from which the event will be deleted. |
| `guild_scheduled_event_id` | string | Yes | ID of the guild's scheduled event to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild sticker

**Slug:** `DISCORDBOT_DELETE_GUILD_STICKER`

Permanently deletes a custom sticker from a Discord guild; the specified guild and sticker must exist, and this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Unique identifier of the Discord guild from which the sticker will be deleted. |
| `sticker_id` | string | Yes | The unique identifier of the sticker to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete guild template by code

**Slug:** `DISCORDBOT_DELETE_GUILD_TEMPLATE`

Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique code of the guild template to be deleted. |
| `guild_id` | string | Yes | The ID of the guild (server) from which the template will be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel message

**Slug:** `DISCORDBOT_DELETE_MESSAGE`

Permanently and irreversibly deletes a message from a specified Discord channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | ID of the Discord channel. |
| `message_id` | string | Yes | ID of the message to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user reaction on message

**Slug:** `DISCORDBOT_DELETE_MY_MESSAGE_REACTION`

Removes the authenticated user's own emoji reaction, which they must have previously added, from a specific message in a Discord channel; this action is irreversible and cannot remove others' reactions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | Identifier of the Discord channel containing the message. |
| `emoji_name` | string | Yes | The specific emoji reaction to remove. Use the emoji character for standard Unicode emojis (e.g., '👍') or 'name:id' for custom emojis (e.g., 'mycustomemoji:123456789012345678'). |
| `message_id` | string | Yes | Identifier of the message from which to remove the authenticated user's reaction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete original webhook message

**Slug:** `DISCORDBOT_DELETE_ORIGINAL_WEBHOOK_MESSAGE`

Permanently deletes an existing original message posted by a webhook (using its ID and token), optionally within a specific thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `thread_id` | string | No | ID of the thread where the original webhook message is located; provide only if the message is within that thread. |
| `webhook_id` | string | Yes | Unique identifier of the webhook that posted the original message. |
| `webhook_token` | string | Yes | Secure token for the webhook, used for authenticating its actions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete stage instance by channel id

**Slug:** `DISCORDBOT_DELETE_STAGE_INSTANCE`

Deletes the Stage Instance for the given `channel_id`, permanently ending its live audio event.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the Stage channel from which to delete the instance. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete channel thread member

**Slug:** `DISCORDBOT_DELETE_THREAD_MEMBER`

Removes a user from a specified, unarchived thread in a Discord channel.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user to remove from the thread. The special value '@me' can be used to target the current user (e.g., the bot itself leaving the thread). |
| `channel_id` | string | Yes | The ID of the thread from which the user will be removed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete user reaction from message

**Slug:** `DISCORDBOT_DELETE_USER_MESSAGE_REACTION`

Removes a specific user's emoji reaction from a message; requires 'Manage Messages' permission if deleting reactions from other users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user whose reaction should be removed. This must be a valid user snowflake ID. To remove your own bot's reaction, use the 'delete_my_message_reaction' action instead. |
| `channel_id` | string | Yes | The ID of the channel where the message is located. |
| `emoji_name` | string | Yes | The name or ID of the emoji to remove. For standard Unicode emojis, use the emoji character (e.g., 👍). For custom emojis, use the format `name:id` (e.g., `customemoji:876543210987654321`). |
| `message_id` | string | Yes | The ID of the message from which to remove the reaction. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook by id

**Slug:** `DISCORDBOT_DELETE_WEBHOOK`

Permanently deletes a specified, existing Discord webhook by its unique ID; this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The unique identifier of the Discord webhook to be deleted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook using id and token

**Slug:** `DISCORDBOT_DELETE_WEBHOOK_BY_TOKEN`

Permanently deletes a Discord webhook specified by its ID and token; this action is irreversible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The ID of the webhook to delete. |
| `webhook_token` | string | Yes | The token of the webhook to delete. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete webhook message

**Slug:** `DISCORDBOT_DELETE_WEBHOOK_MESSAGE`

Deletes a message previously sent by the specified webhook, optionally within a specific thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `thread_id` | string | No | ID of the thread the message is in (optional). |
| `message_id` | string | Yes | The ID of the message to be deleted. |
| `webhook_id` | string | Yes | The ID of the webhook. |
| `webhook_token` | string | Yes | The token of the webhook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Github action webhooks processing

**Slug:** `DISCORDBOT_EXECUTE_GITHUB_COMPATIBLE_WEBHOOK`

Forwards GitHub event notifications to a Discord channel via a webhook configured for GitHub-formatted payloads (URL ending in `/github`).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ref` | string | No | Git reference involved in the event (e.g., 'refs/heads/main', 'refs/tags/v1.0.0'). |
| `wait` | boolean | No | Waits for message confirmation before responding if true; otherwise, responds immediately. |
| `issue` | object | No | GitHub issue object for issue-related events (issues, issue_comment). Leave None to allow GitHub to populate this automatically. |
| `action` | string | No | Type of action that triggered the GitHub event (e.g., 'opened', 'created'). |
| `answer` | object | No | Answer object within GitHub Discussions when an answer is marked or unmarked. Leave None to allow GitHub to populate this automatically. |
| `forced` | boolean | No | Indicates if a Git push was a force push. |
| `forkee` | object | No | New repository object created in 'fork' events. Leave None to allow GitHub to populate this automatically. |
| `member` | object | No | GitHub member/user object for member-related events. Leave None to allow GitHub to populate this automatically. |
| `review` | object | No | GitHub pull request review object for 'pull_request_review' events. Leave None to allow GitHub to populate this automatically. |
| `comment` | object | No | GitHub comment object for comment-related events (issue_comment, commit_comment, etc.). Leave None to allow GitHub to populate this automatically. |
| `commits` | array | No | List of commit details, primarily for 'push' events. |
| `compare` | string | No | URL to view the comparison of changes, typically for a 'push' event. |
| `release` | object | No | GitHub release object for 'release' events (published, deleted, etc.). Leave None to allow GitHub to populate this automatically. |
| `ref_type` | string | No | Type of the Git reference in 'ref' (e.g., 'branch', 'tag'). |
| `check_run` | object | No | GitHub Check Run object for 'check_run' events from CI/CD systems. Leave None to allow GitHub to populate this automatically. |
| `thread_id` | string | No | ID of the target Discord thread for the message; if unspecified, posts to the main channel. |
| `discussion` | object | No | GitHub Discussion object for 'discussion' and 'discussion_comment' events. Leave None to allow GitHub to populate this automatically. |
| `repository` | object | No | GitHub repository object containing repo metadata. Leave None to allow GitHub to populate this automatically. |
| `sender__id` | integer | No | Numeric ID of the GitHub user/application that triggered the event. |
| `webhook_id` | string | Yes | ID of the Discord webhook. |
| `check_suite` | object | No | GitHub Check Suite object for 'check_suite' events grouping multiple check runs. Leave None to allow GitHub to populate this automatically. |
| `head_commit` | object | No | Most recent commit object in 'push' events. Leave None to allow GitHub to populate this automatically. |
| `pull_request` | object | No | GitHub pull request object for PR-related events (pull_request, pull_request_review, pull_request_review_comment). Leave None to allow GitHub to populate this automatically. |
| `sender__login` | string | No | GitHub username (login) of the user/application that triggered the event. |
| `webhook_token` | string | Yes | Token for the Discord webhook. |
| `sender__html__url` | string | No | URL to the GitHub profile of the event sender. |
| `sender__avatar__url` | string | No | URL of the event sender's GitHub avatar. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post to slack webhook

**Slug:** `DISCORDBOT_EXECUTE_SLACK_COMPATIBLE_WEBHOOK`

Sends richly formatted messages to Discord via its Slack-compatible webhook endpoint; requires at least one of `text` or `attachments` and adherence to content limits.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `text` | string | No | The main message content, up to 2000 characters. Supports Slack's `mrkdwn` formatting (e.g., `*bold*`, `_italic_`, `~strike~`, code, `>quote`). At least one of `text` or `attachments` is required. |
| `wait` | boolean | No | If true, waits for server confirmation of message send before responding. Note: Unlike the standard webhook endpoint, the Slack-compatible endpoint always returns 'ok' text regardless of this parameter, not a message object. Defaults to false. |
| `icon_url` | string | No | If provided, this URL will be used for the avatar icon, overriding the default webhook icon. Must be a valid image URL. |
| `username` | string | No | If provided, this username will override the default username associated with the webhook. Limited to 80 characters. |
| `thread_id` | string | No | The ID of the target thread within the channel to send the message to. If not provided, the message is sent to the main channel. |
| `webhook_id` | string | Yes | The unique identifier for the Discord webhook. This is part of the webhook URL. |
| `attachments` | array | No | An array of up to 10 attachment objects that provide rich formatting options for the message, similar to Slack attachments. At least one of `text` or `attachments` is required. |
| `webhook_token` | string | Yes | The secret token for the Discord webhook. This is part of the webhook URL. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Post webhook with embeds and components

**Slug:** `DISCORDBOT_EXECUTE_WEBHOOK`

Executes a Discord webhook to send messages, embeds, or interactive components to a specific Discord channel or thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `tts` | boolean | No | Send as a text-to-speech (TTS) message. Use sparingly. |
| `poll` | object | No | A poll object to attach to the message. Structure: {'question': {'text': 'Poll question'}, 'answers': [{'poll_media': {'text': 'Option 1'}}, ...], 'duration': hours (1-168), 'allow_multiselect': boolean}. Maximum 10 answer options. |
| `wait` | boolean | No | If true, waits for Discord to confirm message delivery before responding (response includes message object with ID, timestamp, etc.); if false, responds immediately with 204 No Content. Defaults to true for better agent usability. |
| `flags` | integer | No | Bitwise value for message flags. Use 4 for `SUPPRESS_EMBEDS` to hide embeds, or 4096 for `SUPPRESS_NOTIFICATIONS` to suppress push/desktop notifications. |
| `embeds` | array | No | Up to 10 embed objects for rich content. Combined character count across all embed attributes must not exceed 6000. |
| `content` | string | No | Message text content (max 2000 characters). At least one of content, embeds, attachments, or poll is required. |
| `username` | string | No | Override the default username of the webhook. Max 80 characters. |
| `thread_id` | string | No | ID of the thread in the webhook's channel to send the message to; if omitted, sends to the main channel. |
| `avatar_url` | string | No | Override the default avatar of the webhook with a URL to an image. |
| `components` | array | No | Message components (interactive elements), up to 5 action rows. Each action row is a dict with 'type': 1 and 'components' array. Supported components: buttons (type 2), select menus (type 3), text inputs (type 4). Example: [{'type': 1, 'components': [{'type': 2, 'style': 1, 'label': 'Click Me', 'custom_id': 'btn1'}]}] |
| `webhook_id` | string | Yes | Unique ID of the Discord webhook. |
| `attachments` | array | No | Attachment objects describing files for the message. Requires `multipart/form-data` request. |
| `thread_name` | string | No | Name of the thread to create when executing on a forum channel. Maximum 100 characters. |
| `applied_tags` | array | No | Array of tag IDs to apply to the thread when executing on a forum channel (only works with thread_name). |
| `webhook_token` | string | Yes | Secret token for the Discord webhook. |
| `allowed_mentions` | object | No | Controls which mentions in `content` ping recipients. Structure: {'parse': array of mention types to parse from content (['users', 'roles', 'everyone']), 'users': array of specific user IDs allowed to be mentioned, 'roles': array of specific role IDs allowed to be mentioned}. Omit to use default mention parsing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add follower to channel via webhook

**Slug:** `DISCORDBOT_FOLLOW_CHANNEL`

Follows an Announcement Channel (News Channel) to relay its messages to a target channel via webhook. The bot must have MANAGE_WEBHOOKS permission in the target channel (`webhook_channel_id`). The source channel must be an Announcement Channel (requires server to have Community features enabled).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the Announcement Channel (News Channel, type 5) to follow. This is the source channel whose messages will be relayed. |
| `webhook_channel_id` | string | Yes | The ID of the target channel where messages from the followed Announcement Channel will be posted. A webhook will be created in this channel. Requires MANAGE_WEBHOOKS permission in this channel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List active threads in guild

**Slug:** `DISCORDBOT_GET_ACTIVE_GUILD_THREADS`

Retrieves all active (non-archived) threads in a Discord guild that the bot can access. Returns both public and private threads that are currently active, along with thread member information for threads the bot has joined. Archived threads are excluded from results.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier (snowflake ID) of the Discord guild to retrieve active threads from. The bot must be a member of this guild to access its threads. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve application details

**Slug:** `DISCORDBOT_GET_APPLICATION`

Retrieves the full details of a Discord application using its unique `application_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `application_id` | string | Yes | The unique snowflake ID of the Discord application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch application command by id

**Slug:** `DISCORDBOT_GET_APPLICATION_COMMAND`

Fetches the details of a specific, existing application command, identified by its application Snowflake ID and command Snowflake ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `command_id` | string | Yes | The unique identifier of the command. |
| `application_id` | string | Yes | The unique identifier of the Discord application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve application role metadata

**Slug:** `DISCORDBOT_GET_APPLICATION_ROLE_CONNECTIONS_METADATA`

Retrieves all role connection metadata records for a given Discord application ID; an empty list is returned if none are configured.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `application_id` | string | Yes | The unique identifier of the Discord application for which to fetch role connection metadata. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get user role connection

**Slug:** `DISCORDBOT_GET_APPLICATION_USER_ROLE_CONNECTION`

Fetches the role connection object for the current user for a specified Discord application.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `application_id` | string | Yes | The unique ID of the Discord application for which the user's role connection information is being requested. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve auto moderation rule

**Slug:** `DISCORDBOT_GET_AUTO_MODERATION_RULE`

Retrieves the complete configuration details of a specific auto-moderation rule within a Discord guild for inspection or verification.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `rule_id` | string | Yes | The unique identifier of the auto-moderation rule to retrieve. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve bot gateway

**Slug:** `DISCORDBOT_GET_BOT_GATEWAY`

Retrieves the WSS URL, recommended shard count, and session start limits, which are prerequisite for a bot to connect to the Discord Gateway and receive events.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve channel details

**Slug:** `DISCORDBOT_GET_CHANNEL`

Retrieves detailed metadata for a specific Discord channel using its `channel_id`, which must be a valid and accessible channel ID; note that this action returns only channel metadata, not message content or member lists.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the Discord channel. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get gateway details

**Slug:** `DISCORDBOT_GET_GATEWAY`

Retrieves the WebSocket URL to connect to Discord's Gateway for receiving real-time events.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild details

**Slug:** `DISCORDBOT_GET_GUILD`

Retrieves detailed information for a specified Discord guild (server) by its `guild_id`, optionally including approximate member and presence counts if `with_counts` is true.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier (ID) of the Discord guild (server) to retrieve. |
| `with_counts` | boolean | No | When true, includes approximate member and presence counts for the guild. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch guild application command by id

**Slug:** `DISCORDBOT_GET_GUILD_APPLICATION_COMMAND`

Fetches detailed information for a specific application command within a Discord guild, identified by `application_id`, `guild_id`, and `command_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server). |
| `command_id` | string | Yes | The unique identifier of the application command to retrieve. |
| `application_id` | string | Yes | The unique identifier of the Discord application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild command permissions

**Slug:** `DISCORDBOT_GET_GUILD_APPLICATION_COMMAND_PERMISSIONS`

Fetches the permissions for a specific application command within a guild, used to inspect its current access settings.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the guild (server). |
| `command_id` | string | Yes | The unique identifier of the command. |
| `application_id` | string | Yes | The unique identifier of the application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild user ban details

**Slug:** `DISCORDBOT_GET_GUILD_BAN`

Fetches the ban details for a specific user in a Discord guild, if that user is currently banned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | Unique ID of the user. |
| `guild_id` | string | Yes | Unique ID of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch emoji by guild and id

**Slug:** `DISCORDBOT_GET_GUILD_EMOJI`

Retrieves details for a specific custom emoji within a specified Discord guild, requiring valid and accessible guild and emoji IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `emoji_id` | string | Yes | Unique identifier of the custom emoji to retrieve. |
| `guild_id` | string | Yes | Unique identifier of the Discord guild (server) from which to fetch the emoji. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild member by user id

**Slug:** `DISCORDBOT_GET_GUILD_MEMBER`

Retrieves detailed information for a specific member of a Discord guild, provided the bot belongs to the guild and has necessary permissions (e.g., GUILD_MEMBERS intent).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier of the Discord user whose guild member information is to be retrieved. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) from which to fetch the member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Preview guild by id

**Slug:** `DISCORDBOT_GET_GUILD_PREVIEW`

Fetches a public preview of a Discord guild by its ID, if the guild has the preview feature enabled.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) to preview. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild scheduled event by id

**Slug:** `DISCORDBOT_GET_GUILD_SCHEDULED_EVENT`

Retrieves a specific scheduled event from a Discord guild by its ID, optionally including the count of subscribed users.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | ID of the Discord guild (server) containing the event. |
| `with_user_count` | boolean | No | If true, includes `user_count` (number of subscribed users) in the event data. Defaults to False for API efficiency. |
| `guild_scheduled_event_id` | string | Yes | ID of the scheduled event to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild onboarding by id

**Slug:** `DISCORDBOT_GET_GUILDS_ONBOARDING`

Retrieves the onboarding settings for a specified Discord guild, including prompts, options, default channels, and enabled status, to examine its new member guidance process when the guild_id is known and accessible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to retrieve onboarding information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve sticker from guild

**Slug:** `DISCORDBOT_GET_GUILD_STICKER`

Retrieves a specific sticker from a Discord guild using the guild and sticker IDs; requires the sticker to exist in the guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The snowflake ID of the Discord guild (server) from which to retrieve the sticker. |
| `sticker_id` | string | Yes | The snowflake ID of the sticker to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild template with code

**Slug:** `DISCORDBOT_GET_GUILD_TEMPLATE`

Retrieves the complete structure and details of a Discord guild template using its unique code; the code must be valid and refer to an existing, accessible template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique code of the guild template. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild vanity url

**Slug:** `DISCORDBOT_GET_GUILD_VANITY_URL`

Retrieves the vanity URL invite code and usage count for a Discord guild. The guild must have the VANITY_URL feature enabled (available for partnered, verified, or Level 3 boosted servers), and the bot must have MANAGE_GUILD permission. Returns the vanity URL code (or null if not set) and the number of times the vanity invite has been used.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to retrieve the vanity URL. The bot must be a member of this guild with MANAGE_GUILD permission, and the guild must have the VANITY_URL feature enabled (typically requires Server Boost Level 3 or Partnership status). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild webhooks

**Slug:** `DISCORDBOT_GET_GUILD_WEBHOOKS`

Retrieves all webhook objects for a specified Discord guild; requires 'MANAGE_WEBHOOKS' permission for the authenticated entity.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier (Snowflake ID) of the Discord guild (server) for which to retrieve webhooks. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild welcome screen

**Slug:** `DISCORDBOT_GET_GUILD_WELCOME_SCREEN`

Retrieves the welcome screen configuration for a Discord guild with the Community feature enabled. Returns the welcome screen description and up to 5 suggested channels. If the welcome screen is disabled, the bot requires MANAGE_GUILD permission to view it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique snowflake ID of the Discord guild (server) to retrieve the welcome screen for. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild widget json

**Slug:** `DISCORDBOT_GET_GUILD_WIDGET`

Retrieves the public JSON widget data for a Discord guild, if the widget is enabled for that guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Unique ID (snowflake) of the Discord guild for which to retrieve the widget JSON. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild widget png

**Slug:** `DISCORDBOT_GET_GUILD_WIDGET_PNG`

Retrieves the widget PNG image for a Discord guild. Returns a PNG shield-style badge showing guild information. Use when you need to display guild widget as an image. The widget must be enabled for the guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `style` | string | No | The style of the widget image (e.g., 'shield' for a shield-style badge). If not specified, returns the default widget style. |
| `guild_id` | string | Yes | The unique identifier (snowflake ID) of the Discord guild for which to retrieve the widget PNG. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild widget information

**Slug:** `DISCORDBOT_GET_GUILD_WIDGET_SETTINGS`

Retrieves the widget settings for a specified Discord guild, indicating if the widget is enabled and its configured channel ID; requires a valid `guild_id`.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier (Snowflake ID) of the Discord guild (server) for which to retrieve the widget settings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve message from channel

**Slug:** `DISCORDBOT_GET_MESSAGE`

Retrieves a specific message from a Discord channel, identified by `channel_id` and `message_id`, if the channel and message exist and are accessible.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier of the Discord channel where the message is located. |
| `message_id` | string | Yes | The unique identifier of the Discord message to be retrieved. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get your applications

**Slug:** `DISCORDBOT_GET_MY_APPLICATION`

Retrieves detailed information about the current authenticated Discord application.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get oauth2 applications for current user

**Slug:** `DISCORDBOT_GET_MY_OAUTH2_APPLICATION`

Retrieves detailed information about the OAuth2 application associated with the current authentication; cannot query other applications.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve original webhook message

**Slug:** `DISCORDBOT_GET_ORIGINAL_WEBHOOK_MESSAGE`

Retrieves the initial response message from a Discord interaction webhook (slash commands, buttons, etc.) or regular webhook. This fetches the '@original' message, which is the first message sent when responding to an interaction or executing a webhook with wait=true. For interaction responses, the interaction token is valid for 15 minutes after the interaction was created.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `thread_id` | string | No | Optional ID of the thread where the original message was posted. Only required if the interaction response or webhook message was sent in a specific thread within the channel. |
| `webhook_id` | string | Yes | The application ID for interaction webhooks. For interaction responses (slash commands, buttons, etc.), this is your bot's application ID. For regular webhooks, this is the webhook ID. |
| `webhook_token` | string | Yes | The token for the webhook. For interaction responses (slash commands, buttons, etc.), this is the interaction token (valid for 15 minutes). For regular webhooks, this is the webhook token. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get oauth2 keys

**Slug:** `DISCORDBOT_GET_PUBLIC_KEYS`

Retrieves Discord's OAuth2 public keys (JWK format) for verifying access tokens; keys may rotate, so refresh caches periodically.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve stage instance by channel id

**Slug:** `DISCORDBOT_GET_STAGE_INSTANCE`

Gets the active stage instance associated with a stage channel (type 13). Returns the stage instance object if one exists, or a 404 error if the channel has no active stage instance. A stage instance represents a live stage event with a topic, privacy level, and optional scheduled event association.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier (snowflake ID) of the stage channel (type 13) whose active stage instance is to be retrieved. Must be a valid stage channel with an active stage instance. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve sticker by id

**Slug:** `DISCORDBOT_GET_STICKER`

Retrieves a specific Discord sticker by its unique ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sticker_id` | string | Yes | The unique identifier of the Discord sticker to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve thread member by id

**Slug:** `DISCORDBOT_GET_THREAD_MEMBER`

Retrieves a member from a specified thread using their user ID, optionally including the full guild member object.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user whose membership in the thread is being retrieved. |
| `channel_id` | string | Yes | The ID of the thread. |
| `with_member` | boolean | No | If true, the response includes the full guild member object with detailed guild-specific user information. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve user by id

**Slug:** `DISCORDBOT_GET_USER`

Fetches public information for a Discord user, requiring a valid and existing user ID (snowflake).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique identifier (snowflake ID) of the Discord user. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhook by id

**Slug:** `DISCORDBOT_GET_WEBHOOK`

Retrieves detailed information for an existing Discord webhook, identified by its unique ID, to verify settings or manage the webhook.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The unique identifier of the Discord webhook to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhook information

**Slug:** `DISCORDBOT_GET_WEBHOOK_BY_TOKEN`

Fetches a Discord webhook's configuration details (e.g., name, avatar, channel ID) using its ID and token; this excludes message history or usage statistics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `webhook_id` | string | Yes | The unique identifier of the Discord webhook. This is a numerical string. |
| `webhook_token` | string | Yes | The secret token for the Discord webhook, used for authentication. This is an alphanumeric string. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve webhook message by id

**Slug:** `DISCORDBOT_GET_WEBHOOK_MESSAGE`

Retrieves a specific message previously sent by a Discord webhook using its `message_id`, requiring `thread_id` if the message is part of a thread.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `thread_id` | string | No | ID of the thread if the message is part of one. |
| `message_id` | string | Yes | Unique ID of the message to retrieve. |
| `webhook_id` | string | Yes | Unique ID of the webhook that sent the message. |
| `webhook_token` | string | Yes | Token for the webhook. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve invite by code

**Slug:** `DISCORDBOT_INVITE_RESOLVE`

Resolves a Discord invite code to get its details, optionally including member counts or data for a specific guild scheduled event; visibility of some details may depend on bot permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | Unique invite code (e.g., 'nYUs4yAE' from 'discord.gg/nYUs4yAE'). |
| `with_counts` | boolean | No | Include approximate member and online presence counts for the guild in the response. |
| `guild_scheduled_event_id` | string | No | Retrieve invite data for a specific guild scheduled event using its ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete invite via code

**Slug:** `DISCORDBOT_INVITE_REVOKE`

Revokes a Discord server invite using its unique code, permanently preventing new joins via this link (does not affect existing members); requires 'Manage Server' or 'Manage Invites' permissions on the server.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique code of the Discord invite to be revoked (e.g., the string after 'discord.gg/'). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Join thread

**Slug:** `DISCORDBOT_JOIN_THREAD`

Joins the authenticated user to a thread specified by `channel_id`; use this when the user is not already a member, for archived threads, or for threads requiring explicit joining, provided the thread is joinable, not locked or full, and the user has permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the thread to join. In the Discord API, threads are a type of channel, so this ID refers to the thread itself. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Leave Guild

**Slug:** `DISCORDBOT_LEAVE_GUILD`

Enables the bot to leave a specified Discord guild (server) of which it is a member but not the owner; this action is irreversible and the bot must be re-invited to rejoin.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) the bot wishes to leave. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove current user from thread

**Slug:** `DISCORDBOT_LEAVE_THREAD`

Removes the currently authenticated user from a specified, existing, and accessible Discord thread of which they are currently a member.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The ID of the thread the current user wishes to leave. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List commands for application

**Slug:** `DISCORDBOT_LIST_APPLICATION_COMMANDS`

Fetches all global application commands for the specified Discord application ID; does not fetch guild-specific commands.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `application_id` | string | Yes | Unique identifier of the Discord application. |
| `with_localizations` | boolean | No | Include localized names and descriptions for commands. Defaults to Discord's behavior (typically false). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild auto moderation rules

**Slug:** `DISCORDBOT_LIST_AUTO_MODERATION_RULES`

Fetches all auto moderation rules for a specified Discord guild to review or audit its configuration; requires `VIEW_AUDIT_LOG` permissions and the action does not modify rules.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Guild ID for which to retrieve auto moderation rules. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Channel Invites

**Slug:** `DISCORDBOT_LIST_CHANNEL_INVITES`

Fetches all active invites for a given Discord channel (read-only). Requires MANAGE_CHANNELS permission. Returns a list of invite objects with metadata (uses, max_uses, creator, timestamps, etc.). Response structures vary by invite type (guild, DM, stage instance, scheduled event).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier (snowflake ID) of the Discord channel. Only works for guild channels and group DMs. The bot must have MANAGE_CHANNELS permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve channel webhooks

**Slug:** `DISCORDBOT_LIST_CHANNEL_WEBHOOKS`

Fetches detailed information for all webhooks in a given valid Discord channel, useful for review or auditing purposes.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier of the Discord channel for which webhooks are to be listed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get application guild command permissions

**Slug:** `DISCORDBOT_LIST_GUILD_APPLICATION_COMMAND_PERMISSIONS`

Call this action to retrieve all explicitly set guild-level permission settings for all commands of a specific application within a given guild, typically for auditing or troubleshooting command access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the guild (server). |
| `application_id` | string | Yes | The unique identifier of the application. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch guild commands via application id

**Slug:** `DISCORDBOT_LIST_GUILD_APPLICATION_COMMANDS`

Fetches all application command definitions (slash, user, and message types) for a specific application within a given Discord guild, optionally including localizations; does not return permissions or usage statistics.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The ID of the guild for which commands are being fetched. |
| `application_id` | string | Yes | The ID of the application whose commands are being fetched. |
| `with_localizations` | boolean | No | Whether to include full localization dictionaries (name_localizations and description_localizations) in the returned objects, instead of just the name_localized and description_localized fields. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild audit logs by guild id

**Slug:** `DISCORDBOT_LIST_GUILD_AUDIT_LOG_ENTRIES`

Retrieves audit log entries (e.g., message deletions, member kicks/bans, role changes) for a specified Discord guild, requiring 'VIEW_AUDIT_LOG' permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Retrieve audit log entries that occurred after this entry ID for pagination. |
| `limit` | integer | No | Maximum number of audit log entries to return (1-100). Defaults to 50 if not specified. |
| `before` | string | No | Retrieve audit log entries that occurred before this entry ID for pagination. |
| `user_id` | string | No | Filter logs by the ID of the user who performed the action. |
| `guild_id` | string | Yes | ID of the Discord guild (server) for which to retrieve audit logs. |
| `target_id` | string | No | Filter logs by the ID of the entity targeted by the action. The nature of this ID depends on the `action_type` (e.g., a user ID for a ban, a role ID for a role update). |
| `action_type` | integer | No | Filter logs by a specific audit log event type. Common values: 1=GUILD_UPDATE, 20-28=CHANNEL events, 30-32=CHANNEL_OVERWRITE events, 40-42=MEMBER events, 50-52=ROLE events, 72-75=MESSAGE events. See Discord API docs for complete list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List guild bans

**Slug:** `DISCORDBOT_LIST_GUILD_BANS`

Fetches a list of users banned from a specified Discord guild; `before`/`after` parameters require user IDs from previous results for correct pagination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Fetches bans for users with IDs after this user ID. For forward pagination. |
| `limit` | integer | No | Maximum number of bans to return (typically 1-1000); if unspecified, Discord's default is used. For pagination. |
| `before` | string | No | Fetches bans for users with IDs before this user ID. For backward pagination. |
| `guild_id` | string | Yes | ID of the Discord guild (server) from which to retrieve the ban list. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild channels

**Slug:** `DISCORDBOT_LIST_GUILD_CHANNELS`

Fetches all channels (e.g., text, voice, category, threads) and their structural information for a specified Discord guild ID; does not include message content.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Identifier of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild emojis

**Slug:** `DISCORDBOT_LIST_GUILD_EMOJIS`

Fetches all custom emoji objects for a specified Discord guild if the bot has access; returns only custom guild emojis, not standard Unicode or Nitro emojis.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to list emojis. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List guild integrations

**Slug:** `DISCORDBOT_LIST_GUILD_INTEGRATIONS`

Lists all integration objects for a specified Discord guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to list integrations. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild invites by id

**Slug:** `DISCORDBOT_LIST_GUILD_INVITES`

Retrieves all currently active invite codes for a specified Discord guild, typically for administration, analytics, or managing guild invitations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to retrieve active invites. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild members

**Slug:** `DISCORDBOT_LIST_GUILD_MEMBERS`

Retrieves members for a Discord guild; requires a valid guild_id for an existing guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | integer | No | User ID for pagination offset; fetches members with IDs greater than this value. |
| `limit` | integer | No | Max number of members to return (API default: 1, max: 1000). |
| `guild_id` | string | Yes | Identifier of the Discord guild (server) to retrieve members from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List guild roles

**Slug:** `DISCORDBOT_LIST_GUILD_ROLES`

Fetches all roles in a Discord guild, providing details for each role but not user assignments; `guild_id` must be valid.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Identifier of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild scheduled events

**Slug:** `DISCORDBOT_LIST_GUILD_SCHEDULED_EVENTS`

Retrieves a list of scheduled events for a specified Discord guild, optionally including subscribed user counts, provided the authenticated user/bot has access to the guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Guild ID for which to retrieve scheduled events. |
| `with_user_count` | boolean | No | Include the count of users subscribed to each event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve users for scheduled event

**Slug:** `DISCORDBOT_LIST_GUILD_SCHEDULED_EVENT_USERS`

Fetches users who have expressed interest in a specific scheduled event, requiring valid guild and event IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Return users after this user ID for pagination. |
| `limit` | integer | No | Maximum number of users to return (1-100); Discord defaults to 100 if omitted. |
| `before` | string | No | Return users before this user ID for pagination. |
| `guild_id` | string | Yes | Unique identifier of the Discord guild (server). |
| `with_member` | boolean | No | Include the guild member object for each user. Defaults to false if omitted. |
| `guild_scheduled_event_id` | string | Yes | Unique identifier of the scheduled event. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild stickers

**Slug:** `DISCORDBOT_LIST_GUILD_STICKERS`

Retrieves all custom sticker objects for a Discord guild; does not include standard/Nitro stickers.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | Unique identifier of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get guild templates by guild id

**Slug:** `DISCORDBOT_LIST_GUILD_TEMPLATES`

Retrieves all guild templates for an existing Discord guild, specified by its ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild for which to retrieve templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List guild regions

**Slug:** `DISCORDBOT_LIST_GUILD_VOICE_REGIONS`

Fetches a list of available voice regions for a specified Discord guild.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get channel message reaction by emoji

**Slug:** `DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI`

Fetches a list of users who reacted to a specific message with a given emoji in a Discord channel; retrieves users for one emoji at a time.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Get users after this user ID. Used for pagination. |
| `limit` | integer | No | The maximum number of users to return (1-100). Defaults to 25 if not specified. |
| `channel_id` | string | Yes | The ID of the channel where the message is located. |
| `emoji_name` | string | Yes | The emoji to retrieve reactions for. For Unicode emojis, provide the URL-encoded emoji character (e.g., '%F0%9F%91%8D' for 👍, '%E2%9D%A4' for ❤️). For custom guild emojis, use the format 'name:id' (e.g., 'customEmoji:813724385177206814'). The emoji must match one that has been used to react to the message. |
| `message_id` | string | Yes | The ID of the message to retrieve reactions from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch messages from channel

**Slug:** `DISCORDBOT_LIST_MESSAGES`

Retrieves historical messages from a specified, accessible Discord channel, typically newest first; for real-time messages, use Discord's WebSocket Gateway API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | Get messages after this message ID for forward pagination. |
| `limit` | integer | No | Max messages to retrieve (1-100, API defaults to 50). |
| `around` | string | No | Get messages around this message ID. |
| `before` | string | No | Get messages before this message ID for backward pagination. |
| `channel_id` | string | Yes | ID of the Discord channel to fetch messages from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get private archived threads for user

**Slug:** `DISCORDBOT_LIST_MY_PRIVATE_ARCHIVED_THREADS`

Retrieves private archived threads from a specified channel that the current user is a member of.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of threads to retrieve (1-100); defaults to an API-defined limit (often 50). |
| `before` | string | No | An ISO8601 timestamp or a thread ID. Returns threads archived before this value. Used for pagination. |
| `channel_id` | string | Yes | The ID of the channel where the private archived threads are located. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve pinned messages in channel

**Slug:** `DISCORDBOT_LIST_PINNED_MESSAGES`

Retrieves all currently pinned messages from a Discord channel. Returns up to 50 pinned messages (Discord's maximum) in the channel. The bot must have permission to view the channel and read message history. Returns an empty list if no messages are pinned.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | ID of the Discord channel to retrieve pinned messages from. Must be a valid snowflake ID of a text channel the bot has access to. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get archived private threads by channel id

**Slug:** `DISCORDBOT_LIST_PRIVATE_ARCHIVED_THREADS`

Lists a channel's private archived threads, sorted by most recent archival, requiring view access to them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of threads to return (1-100). Defaults to a server-specified limit, typically 50. |
| `before` | string | No | Retrieve threads archived before this timestamp (ISO8601 format) or thread ID (snowflake). If not provided, the most recent threads are returned. |
| `channel_id` | string | Yes | The ID of the channel to retrieve archived private threads from. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get archived public threads by channel id

**Slug:** `DISCORDBOT_LIST_PUBLIC_ARCHIVED_THREADS`

Lists public archived threads in an accessible Discord channel, returning an empty list if none exist; does not list private or active threads.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | The maximum number of threads to return. Must be an integer between 1 and 100. Defaults by Discord to 50 if not specified. |
| `before` | string | No | An ISO8601 timestamp string or a thread ID (snowflake). Returns threads created before this specified timestamp or ID. If omitted, threads are returned from the most recent. |
| `channel_id` | string | Yes | The ID (snowflake) of the channel from which to retrieve public archived threads. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List sticker packs

**Slug:** `DISCORDBOT_LIST_STICKER_PACKS`

Fetches sticker packs available to Nitro subscribers on Discord, excluding custom or guild-specific ones.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List thread members in channel

**Slug:** `DISCORDBOT_LIST_THREAD_MEMBERS`

Retrieves members of a specified Discord thread, with an option to include full guild member objects for each.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `after` | string | No | The user ID to paginate from, returning thread members whose user IDs are after this one. Used for retrieving subsequent pages of results. |
| `limit` | integer | No | The maximum number of thread members to return. Must be between 1 and 100, inclusive. Defaults to a server-defined value (often 50) if omitted or invalid. |
| `channel_id` | string | Yes | The ID of the thread channel from which to retrieve members. This must be a thread ID, not a parent channel ID. |
| `with_member` | boolean | No | If `true`, includes the full guild member object for each thread member in the response. If omitted or `false`, only basic thread member information is returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Fetch voice regions list

**Slug:** `DISCORDBOT_LIST_VOICE_REGIONS`

Lists all available Discord voice regions with their ID, name, operational status (custom, deprecated, optimal), noting that availability may vary by server.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Pin message in channel

**Slug:** `DISCORDBOT_PIN_MESSAGE`

Pins a message in a Discord channel for increased visibility. Requires the 'Pin Messages' permission (separate from 'Manage Messages' as of Jan 2026). Channel pin limit is 250 messages. Returns HTTP 204 on success. Fails with 403 if missing permissions or 400 if pin limit exceeded.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | Unique identifier (snowflake) of the text channel containing the message to pin. The bot must have 'Pin Messages' permission in this channel. |
| `message_id` | string | Yes | Unique identifier (snowflake) of the message to pin. The message must exist in the specified channel and the channel must not have reached the 250-pin limit. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Retrieve guild prune info

**Slug:** `DISCORDBOT_PREVIEW_PRUNE_GUILD`

Previews the number of members that would be pruned from a Discord guild based on inactivity days and optional roles; this action only returns a count and does not remove members.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `days` | integer | No | Number of days of inactivity (1-30 inclusive). Members inactive for at least this many days are eligible for pruning. If not provided, Discord API defaults to 7 days. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) for which to preview the prune operation. |
| `include_roles` | array | No | List of role IDs to include when calculating prune count. By default, members with roles are not counted. Provide role IDs to include members with those specific roles in the prune count. Members with additional roles beyond those specified will not be counted. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Prune inactive guild members

**Slug:** `DISCORDBOT_PRUNE_GUILD`

Removes inactive members from a Discord guild. Requires 'KICK_MEMBERS' permission. Set compute_prune_count=false for large guilds to avoid timeouts (returns null instead of count). To preview the prune count without removing members, use the preview_prune_guild action instead.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `days` | integer | No | Number of days a member must be inactive (1-30, API default is 7) to be eligible for pruning. Members inactive for at least this many days will be removed. |
| `guild_id` | string | Yes | ID of the Discord guild (server) for member pruning. |
| `include_roles` | array | No | Optional list of role IDs. By default, prune will not remove users with roles. Include specific role IDs here to prune inactive users who have a subset of the provided roles. Users with additional roles beyond those specified will not be pruned. |
| `compute_prune_count` | boolean | No | If true (API default), returns the actual count of pruned members. If false, prunes members but returns null (recommended for large guilds to avoid timeouts). Note: This parameter controls whether the count is returned, not whether pruning occurs. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild onboarding configuration

**Slug:** `DISCORDBOT_PUT_GUILDS_ONBOARDING`

Configures or updates a Discord guild's new member onboarding flow, including defining prompts with options, assigning roles/channels, setting default channels, and managing the flow's active status.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `mode` | integer | No | Onboarding mode (0 = ONBOARDING_DEFAULT, 1 = ONBOARDING_ADVANCED). Discord typically manages this field; can be left as None. |
| `enabled` | boolean | No | If true, the guild's onboarding flow is active. Note: Enabling onboarding requires at least 7 default channels with at least 5 allowing message sending to @everyone. |
| `prompts` | array | No | Up to 5 onboarding prompts for the guild. |
| `guild_id` | string | Yes | Guild's unique ID (Snowflake) for which onboarding settings are being updated. |
| `default_channel_ids` | array | No | Up to 7 channel IDs (Snowflake) new members join/are recommended post-onboarding. At least 5 must allow @everyone to send messages. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search guild members by username or nickname

**Slug:** `DISCORDBOT_SEARCH_GUILD_MEMBERS`

Searches for members in a specific Discord guild, allowing filtering by a query string.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `limit` | integer | No | Maximum number of members to return (1-1000). Defaults to 1 if not specified. |
| `query` | string | Yes | The query string to match against usernames or nicknames. The search is prefix-based (e.g., 'adm' will match 'admin'). |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) to search within. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify channel permissions

**Slug:** `DISCORDBOT_SET_CHANNEL_PERMISSION_OVERWRITE`

Updates or creates a permission overwrite for a role (type `0`) or member (type `1`) specified by `overwrite_id` within an existing Discord channel (`channel_id`), using `allow` and `deny` bitwise values to precisely control permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `deny` | string | No | Bitwise value of Discord permission flags to deny as a string. '0' means no explicit denials; omit to inherit. See Discord docs for flags. |
| `type` | integer | Yes | Type of entity `overwrite_id` refers to: `0` for a role or `1` for a member (user). |
| `allow` | string | No | Bitwise value of Discord permission flags to grant as a string. '0' means no new permissions; omit to inherit. See Discord docs for flags. |
| `channel_id` | string | Yes | The unique identifier of the Discord channel where the permission overwrite will be applied. |
| `overwrite_id` | string | Yes | The unique identifier of the role or member (user) to whom the permission overwrite applies. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild template by code

**Slug:** `DISCORDBOT_SYNC_GUILD_TEMPLATE`

Synchronizes a guild template (by `code`) with its source guild (`guild_id`), updating it to match the source's current configuration; this does not affect guilds already created from this template.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | The unique code of the guild template to be synchronized. |
| `guild_id` | string | Yes | The unique identifier of the Discord server (guild) that is the source of the template. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Test bot token authentication

**Slug:** `DISCORDBOT_TEST_AUTH`

Tool to validate the configured Discord bot token by fetching the current authenticated bot user. Use when diagnosing repeated 401 errors to determine if the issue is an invalid token (this endpoint returns 401) or missing guild membership/permissions/wrong channel_id (this endpoint returns 200 but other operations fail).

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Trigger typing indicator

**Slug:** `DISCORDBOT_TRIGGER_TYPING_INDICATOR`

Shows the bot is 'typing' in a Discord channel, typically before sending a message; indicator stops after 10 seconds or upon message send, so use when actively preparing a response.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | The unique identifier of the Discord channel where the typing indicator should be displayed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove guild ban

**Slug:** `DISCORDBOT_UNBAN_USER_FROM_GUILD`

Revokes a ban for a user from a Discord guild, allowing them to rejoin if they choose. Requires BAN_MEMBERS permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `reason` | string | No | Reason for unbanning the user. This will be displayed in the guild's audit log. Maximum 512 characters. |
| `user_id` | string | Yes | ID of the user to unban from the specified guild. |
| `guild_id` | string | Yes | ID of the Discord server (guild) from which to remove the user's ban. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Unpin message from channel

**Slug:** `DISCORDBOT_UNPIN_MESSAGE`

Unpins a message that is currently pinned in a specified Discord channel; the message itself is not deleted, only removed from the pinned messages list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `channel_id` | string | Yes | Identifier of the Discord channel containing the pinned message. |
| `message_id` | string | Yes | Identifier of the pinned message to unpin. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify application by id

**Slug:** `DISCORDBOT_UPDATE_APPLICATION`

Updates a Discord application's settings using its `application_id`; `max_participants` requires the `APPLICATION_EMBEDDED_ACTIVITIES` flag, and `team_id`, `type`, or `install_params` must be `null` if specified.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | Base64 encoded application icon (PNG, JPEG, or GIF). |
| `tags` | array | No | Up to 5 string tags for application discovery. |
| `type` | null | No | Application type; if provided, must be `null` for type transitions or resets (consult Discord API). |
| `flags` | integer | No | Bitwise value for application flags; consult Discord API for flag meanings. |
| `team_id` | null | No | Team ID; if provided, must be `null` to transfer ownership or disassociate from a team. |
| `cover_image` | string | No | Base64 encoded cover image (PNG, JPEG, or GIF). |
| `application_id` | string | Yes | Unique identifier of the Discord application to update. |
| `install_params` | null | No | OAuth2 installation parameters; if provided, must be `null` to reset or clear existing defaults. |
| `max_participants` | integer | No | Maximum participants for an activity; requires `APPLICATION_EMBEDDED_ACTIVITIES` flag. |
| `custom_install_url` | string | No | Custom URL for redirection after authorization, bypassing default OAuth2 completion. |
| `description__default` | string | No | Default description if localized version is unavailable for the user's client. |
| `interactions_endpoint_url` | string | No | HTTPS URL for Discord to send interaction events (e.g., slash commands). |
| `description__localizations` | object | No | Dictionary of localized descriptions; keys are locale strings (e.g., 'en-US', 'de'). |
| `role_connections_verification_url` | string | No | URL for verifying linked roles in role connections. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch command for application

**Slug:** `DISCORDBOT_UPDATE_APPLICATION_COMMAND`

Updates specified properties of a Discord application command (e.g., name, description); omitted properties remain unchanged, and the `options` field, if provided, overwrites all existing options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the command (1-32 characters). |
| `options` | array | No | The new list of [application command options](https://discord.com/developers/docs/interactions/application-commands#application-command-object-application-command-option-structure) for the command. If provided, all existing options will be overwritten. An empty list will remove all options. Required options must be listed before optional ones. |
| `command_id` | string | Yes | The unique identifier of the command to be updated. |
| `description` | string | No | The new description for the command (1-100 characters). For USER and MESSAGE commands, this should be an empty string if provided. |
| `dm_permission` | boolean | No | Indicates whether the command is available in DMs with the app. If `null` or not set, it will inherit the application's default DM permission configuration. |
| `application_id` | string | Yes | The unique identifier of the Discord application. |
| `name_localizations` | object | No | A dictionary mapping [locale strings](https://discord.com/developers/docs/reference#locales) to localized names for the command. |
| `description_localizations` | object | No | A dictionary mapping [locale strings](https://discord.com/developers/docs/reference#locales) to localized descriptions for the command. |
| `default_member_permissions` | string | No | A string representing the bitwise OR-ed set of [permission flags](https://discord.com/developers/docs/topics/permissions#permissions-bitwise-permission-flags) required for a member to use this command by default. For example, '8' for Administrator. Set to '0' to disable for everyone except admins by default, or null to allow everyone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update user application role connection

**Slug:** `DISCORDBOT_UPDATE_APPLICATION_USER_ROLE_CONNECTION`

Updates the current user's application role connection metadata for Discord's Linked Roles feature. This endpoint requires OAuth2 authentication with the 'role_connections.write' scope - it cannot be used with a Bot token. The application must have role connection metadata configured before users can update their connection data. Use case: Update user metadata (e.g., subscription tier, account level) that Discord servers can use as requirements for linked roles.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `metadata` | object | No | A dictionary of custom metadata key-value pairs. Keys must match metadata keys configured in the application's role connection metadata schema (1-50 chars, lowercase letters, numbers, underscores only). Values can be strings (max 100 chars) or integers. Maximum 5 metadata entries. |
| `platform_name` | string | No | The vanity name of the platform to display in Discord's user profile (max 50 characters). Examples: 'Twitch', 'GitHub', 'Steam', or custom platform names. |
| `application_id` | string | Yes | The unique Discord application ID (snowflake format). This must be an application that has linked role connection metadata configured. |
| `platform_username` | string | No | The user's username on the external platform to display in Discord's user profile (max 100 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify guild auto moderation rule

**Slug:** `DISCORDBOT_UPDATE_AUTO_MODERATION_RULE`

Updates an existing auto-moderation rule, identified by `guild_id` and `rule_id` in the path, with new values for rule properties (e.g., `name`, `event_type`) provided in the request body. All body parameters are optional - only include the fields you want to update.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the rule (1-100 characters). |
| `actions` | array | No | The actions which will execute when the rule is triggered (max 5). |
| `enabled` | boolean | No | Whether the rule is enabled. |
| `rule_id` | string | Yes | The unique identifier of the auto-moderation rule that needs to be updated. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild where the auto-moderation rule is located. |
| `eventType` | integer | No | The event type that triggers this rule. Enum values: 1 (MESSAGE_SEND - when a member sends or edits a message in the guild), 2 (MEMBER_UPDATE - when a member edits their profile). |
| `exemptRoles` | array | No | The role IDs that should not be affected by the rule (maximum of 20). |
| `triggerType` | integer | No | The type of trigger that determines whether this rule's actions should run. Enum values: 1 (KEYWORD - check if content contains words from a user defined list of keywords, max 6 per guild), 3 (SPAM - check if content represents generic spam, max 1 per guild), 4 (KEYWORD_PRESET - check if content contains words from internal pre-defined wordsets, max 1 per guild), 5 (MENTION_SPAM - check if content contains more mentions than allowed, max 1 per guild), 6 (MEMBER_PROFILE - check if member profile contains words from a user defined list of keywords, max 1 per guild). |
| `exemptChannels` | array | No | The channel IDs that should not be affected by the rule (maximum of 50). |
| `triggerMetadata` | object | No | Trigger metadata containing trigger-specific configuration parameters. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update channel settings

**Slug:** `DISCORDBOT_UPDATE_CHANNEL`

Updates a Discord channel's settings (name, topic, permissions, etc.). Requires MANAGE_CHANNELS permission. All body parameters are optional - only include fields you want to change. Different parameters apply to different channel types (text, voice, forum, etc.). Fires a Channel Update event on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New channel name (1-100 characters). Applies to all guild channel types. |
| `nsfw` | boolean | No | Whether the channel is age-restricted (NSFW). Applies to text, voice, announcement, stage, forum, and media channels. |
| `type` | integer | No | The type of channel. Only conversion between text (0) and announcement (5) is supported. |
| `flags` | integer | No | Channel flags bitfield. Applies to forum and media channels. |
| `topic` | string | No | Channel topic (0-1024 characters for text/announcement channels, 0-4096 for forum/media channels). Applies to text, announcement, forum, and media channels. |
| `bitrate` | integer | No | Bitrate in bits per second (8000-96000 for normal servers, up to 384000 for boosted/VIP servers). Applies to voice and stage channels. |
| `position` | integer | No | The position of the channel in the left-hand listing. Applies to all guild channel types. |
| `parent_id` | string | No | ID of the parent category channel (or null to remove from category). Applies to text, voice, announcement, stage, forum, and media channels. |
| `channel_id` | string | Yes | The unique identifier of the Discord channel to be modified. |
| `rtc_region` | string | No | Voice region ID (null for automatic selection). Applies to voice and stage channels. |
| `user_limit` | integer | No | Maximum number of users in the voice channel (0 = unlimited, 1-99 for limit). Applies to voice and stage channels. |
| `available_tags` | array | No | Set of tags that can be used in a forum/media channel (max 20). Applies to forum and media channels. |
| `default_sort_order` | integer | No | Default sort order for forum posts (0 = latest activity, 1 = creation date, null = no preference). Applies to forum and media channels. |
| `video_quality_mode` | integer | No | Camera video quality mode (1 = auto, 2 = 720p full quality). Applies to voice channels. |
| `rate_limit_per_user` | integer | No | Message rate limit in seconds per user (0-21600, slowmode). Bots and users with MANAGE_MESSAGES or MANAGE_CHANNELS are unaffected. Applies to text, voice, stage, forum, and media channels. |
| `default_forum_layout` | integer | No | Default forum layout (0 = not set, 1 = list view, 2 = gallery view). Applies to forum channels. |
| `permission_overwrites` | array | No | Channel-specific permission overwrites for roles and members. Requires MANAGE_ROLES permission. Applies to all guild channel types. |
| `default_reaction_emoji` | object | No | Default reaction emoji for forum posts. |
| `default_auto_archive_duration` | integer | No | Default thread auto-archive duration in minutes (60, 1440, 4320, 10080). Applies to text, announcement, forum, and media channels. |
| `default_thread_rate_limit_per_user` | integer | No | Initial rate_limit_per_user for new threads (0-21600 seconds). Applies to text, forum, and media channels. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild settings

**Slug:** `DISCORDBOT_UPDATE_GUILD`

Updates settings for a Discord guild (server), such as name, region, icon, verification level, and notification settings. Requires the MANAGE_GUILD permission. Transferring ownership requires being the current owner. Managing features or certain visual elements (e.g., banners, splashes) may require specific guild features like 'COMMUNITY' or 'VIP'. All parameters are optional - only include the settings you want to change.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | Base64 encoded 128x128 image data URL for the guild icon (supports PNG, JPEG, GIF; can be animated GIF with ANIMATED_ICON feature). Set to null to remove the icon. |
| `name` | string | No | New name for the guild (2-100 characters, excluding trailing and leading whitespace). |
| `banner` | string | No | Base64 encoded 16:9 image data URL for the guild banner (requires 'BANNER' feature). Set to null to remove. |
| `region` | string | No | Voice region ID for the guild. Deprecated by Discord but still functional. Use `vip-` prefix for VIP servers. Set to null to use automatic region selection. |
| `splash` | string | No | Base64 encoded 16:9 image data URL for the guild invite splash (requires 'INVITE_SPLASH' feature, typically VIP/partnered servers). Set to null to remove. |
| `features` | array | No | List of guild feature strings to enable (e.g., 'COMMUNITY', 'DISCOVERABLE', 'NEWS'). Enabling 'COMMUNITY' or removing it requires ADMINISTRATOR permission. Some features have additional requirements. |
| `guild_id` | string | Yes | The ID of the guild (server) to update. This is a snowflake ID that uniquely identifies the Discord server. |
| `owner_id` | string | No | User ID (snowflake) to transfer guild ownership to. Requires the current user to be the guild owner. This is a permanent action. |
| `afk_timeout` | integer | No | New AFK timeout in seconds (e.g., 60, 300, 900, 1800, 3600). |
| `description` | string | No | New description for the guild. Set to null to remove the description. |
| `home_header` | string | No | Base64 encoded image data URL for the guild home header (requires 'COMMUNITY' feature). Set to null to remove. |
| `afk_channel_id` | string | No | ID of the new AFK channel; null to disable. |
| `discovery_splash` | string | No | Base64 encoded 16:9 image data URL for the guild discovery splash (requires 'DISCOVERABLE' feature). Set to null to remove. |
| `preferred_locale` | string | No | New preferred locale for server discovery and Discord notices (e.g., 'en-US', 'es-ES'). |
| `rules_channel_id` | string | No | ID of the channel for server rules (requires 'COMMUNITY' feature); null to disable. |
| `system_channel_id` | string | No | ID of the channel for guild notices (e.g., welcome messages, server boosts); null to disable. |
| `verification_level` | integer | No | New verification level (integer; e.g., 0: None, 1: Low, 2: Medium, 3: High, 4: Very High). |
| `system_channel_flags` | integer | No | System channel flags as an integer bitfield. Controls which automatic messages are sent (e.g., 1: suppress join notifications, 2: suppress premium/boost notifications, 4: suppress setup tips). |
| `explicit_content_filter` | integer | No | New explicit content filter level (integer; e.g., 0: Disabled, 1: Members without roles, 2: All members). |
| `safety_alerts_channel_id` | string | No | ID of the channel for Discord safety alerts; null to disable. |
| `public_updates_channel_id` | string | No | ID of the channel for Discord notices to admins/moderators of Community guilds; null to disable. |
| `premium_progress_bar_enabled` | boolean | No | Whether to display the server boost progress bar. Set to true to enable, false to disable. |
| `default_message_notifications` | integer | No | New default message notification level (integer; e.g., 0: All Messages, 1: Only @mentions). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update application guild command

**Slug:** `DISCORDBOT_UPDATE_GUILD_APPLICATION_COMMAND`

Updates a specific Discord application command's properties (like name, description, options, or permissions) within a given guild; `application_id`, `guild_id`, and `command_id` must refer to valid entities.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the command (1-32 characters). |
| `options` | array | No | Array of new application command option objects for the command; up to 25 options. |
| `guild_id` | string | Yes | The unique ID of the guild where the command is registered. |
| `command_id` | string | Yes | The unique ID of the command to update. |
| `description` | string | No | New description for the command (1-100 characters). |
| `dm_permission` | boolean | No | Indicates whether the command is available in DMs with the app. This field is not supported for guild commands and will be ignored if provided. |
| `application_id` | string | Yes | The unique ID of the application whose command is being updated. |
| `name_localizations` | object | No | Dictionary of localizations for the command's name; keys are Discord locale codes. |
| `description_localizations` | object | No | Dictionary of localizations for the command's description; keys are Discord locale codes. |
| `default_member_permissions` | string | No | Bitwise value for the command's new default member permissions as a string; '0' allows everyone. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild emoji

**Slug:** `DISCORDBOT_UPDATE_GUILD_EMOJI`

Updates a custom emoji's name and/or role restrictions in a Discord guild; cannot create or delete emojis, and role updates for managed emojis may be restricted by their integration.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new name for the emoji (must be 2-32 characters). If `null` or not provided, the name will not be changed. |
| `roles` | array | No | A list of role IDs that are allowed to use this emoji. Provide an empty list to make the emoji available to @everyone (if role restrictions are generally active for emojis). If this field is `null` (or not provided, as `default=None`), the emoji's role restrictions remain unchanged. Each element in the list should be a string representing a role ID. |
| `emoji_id` | string | Yes | The unique identifier of the custom emoji to be updated. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild (server) where the emoji resides. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify guild member details

**Slug:** `DISCORDBOT_UPDATE_GUILD_MEMBER`

Updates a guild member's attributes including nickname, roles, voice state (mute/deaf/channel), timeout status, and flags. All parameters are optional - only provided fields will be updated. Returns the updated guild member object on success. Requires appropriate permissions for each operation (e.g., MANAGE_NICKNAMES, MANAGE_ROLES, MUTE_MEMBERS, DEAFEN_MEMBERS, MODERATE_MEMBERS).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `deaf` | boolean | No | Whether to server-deafen the member in voice channels. When true, the member will not be able to hear others or transmit audio. Requires the DEAFEN_MEMBERS permission. |
| `mute` | boolean | No | Whether to server-mute the member in voice channels. When true, the member's audio will not be transmitted to others. Requires the MUTE_MEMBERS permission. |
| `nick` | string | No | New nickname for the guild member. Set to `null` or an empty string to remove the nickname. Maximum 32 characters. Cannot modify the nickname of the guild owner. |
| `flags` | integer | No | Guild member flags represented as a bit set integer. Available flags: `BYPASSES_VERIFICATION` (1 << 0 = 1) allows bypassing membership screening, `DID_REJOIN` (1 << 1 = 2) indicates member left and rejoined, `COMPLETED_ONBOARDING` (1 << 2 = 4) indicates member completed onboarding, `STARTED_ONBOARDING` (1 << 5 = 32) indicates member started onboarding. Combine flags using bitwise OR. |
| `roles` | array | No | Array of role IDs (snowflakes as strings) to assign to the member. This completely replaces the member's current roles (except the @everyone role). An empty list removes all roles except @everyone. |
| `user_id` | string | Yes | Unique identifier (snowflake) of the Discord user whose guild member attributes are being updated. |
| `guild_id` | string | Yes | Unique identifier (snowflake) of the Discord guild (server) where the member belongs. |
| `channel_id` | string | No | Voice channel ID (snowflake) to move the member to. The member must be currently connected to a voice channel for this to work. Set to `null` to disconnect the member from their current voice channel. |
| `communication_disabled_until` | string | No | ISO8601 timestamp indicating when the user's timeout (communication restriction) will expire. Must be a time in the future, with a maximum of 28 days from now. Set to `null` or a past timestamp to remove an active timeout. A timed-out member cannot send messages, react, speak in voice, or start threads. Requires MODERATE_MEMBERS permission. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify guild role

**Slug:** `DISCORDBOT_UPDATE_GUILD_ROLE`

Updates a Discord guild role's attributes (name, permissions, color, etc.); requires `MANAGE_ROLES` permission, and the `ROLE_ICONS` guild feature if using `unicode_emoji`; unspecified attributes remain unchanged.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | New role icon as base64 encoded image data (64x64px, max 256KB); cannot be used if `unicode_emoji` is set. |
| `name` | string | No | New name for the role (max 100 characters). |
| `color` | integer | No | New color as an integer representation of a hex code (0 for no color). |
| `hoist` | boolean | No | Set to true to display the role separately in the member list. |
| `colors` | object | No | The role's color information (recommended for new implementations over the color field). |
| `role_id` | string | Yes | Unique identifier of the role to be updated. |
| `guild_id` | string | Yes | Unique identifier of the guild (server). |
| `mentionable` | boolean | No | Set to true to allow anyone to mention this role. |
| `permissions` | integer | No | Bitwise value for new role permissions; refer to Discord API documentation for flags. |
| `unicode_emoji` | string | No | New unicode emoji for the role's icon; cannot be used if `icon` is set and requires the `ROLE_ICONS` guild feature. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild scheduled event

**Slug:** `DISCORDBOT_UPDATE_GUILD_SCHEDULED_EVENT`

Updates attributes such as name, description, schedule, status, or location for an existing Discord guild event; only fields in the request body are changed.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name of the scheduled event (1-100 characters). |
| `image` | string | No | The cover image of the scheduled event as a base64 data URI (e.g., 'data:image/png;base64,...'). |
| `status` | integer | No | The status of the scheduled event. Values: 1=SCHEDULED, 2=ACTIVE, 3=COMPLETED, 4=CANCELED. Note: Cannot change from COMPLETED or CANCELED to other statuses. |
| `guild_id` | string | Yes | The unique identifier of the Discord guild where the event is scheduled. |
| `channel_id` | string | No | The channel ID where the event will be hosted. Required for STAGE_INSTANCE (1) and VOICE (2) entity types. Set to null when changing to EXTERNAL (3). |
| `description` | string | No | The description of the scheduled event (1-1000 characters). |
| `entity_type` | integer | No | The type of hosting entity for the event. Values: 1=STAGE_INSTANCE (stage channel), 2=VOICE (voice channel), 3=EXTERNAL (external location). |
| `privacy_level` | integer | No | The privacy level of the scheduled event. Use 2 for GUILD_ONLY (only accessible to guild members). |
| `entity_metadata` | object | No | Additional metadata for the guild scheduled event |
| `recurrence_rule` | object | No | The rule for how often this event should recur |
| `scheduled_end_time` | string | No | The time at which the scheduled event will end (ISO8601 timestamp). Required for EXTERNAL (3) entity type. |
| `scheduled_start_time` | string | No | The time the scheduled event will start (ISO8601 timestamp, e.g., '2024-12-31T20:00:00'). |
| `guild_scheduled_event_id` | string | Yes | The unique identifier of the guild scheduled event to be updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild sticker info

**Slug:** `DISCORDBOT_UPDATE_GUILD_STICKER`

Modifies a guild sticker's name, description, or tags. Requires MANAGE_EXPRESSIONS permission (or CREATE_EXPRESSIONS for stickers created by the current user).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New name for the sticker (2-30 characters). |
| `tags` | string | No | The Discord name of a unicode emoji representing the sticker's expression (2-200 characters). |
| `guild_id` | string | Yes | ID of the guild where the sticker is located. |
| `sticker_id` | string | Yes | ID of the sticker to be updated. |
| `description` | string | No | New description for the sticker (2-100 characters). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch guild template information

**Slug:** `DISCORDBOT_UPDATE_GUILD_TEMPLATE`

Updates a Discord guild template's `name` and/or `description` given its `guild_id` and template `code`; omitted fields retain current values, and an empty string for `description` clears it.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | Yes | Unique code of the guild template to be updated. |
| `name` | string | No | New name for the guild template; if omitted or null, the current name is retained. |
| `guild_id` | string | Yes | Unique identifier of the Discord guild where the template resides. |
| `description` | string | No | New description for the guild template; if omitted or null, current description is retained. An empty string ("") clears it. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update guild welcome screen

**Slug:** `DISCORDBOT_UPDATE_GUILD_WELCOME_SCREEN`

Updates a guild's welcome screen configuration, including description, enabled status, and up to 5 welcome channels. Requires MANAGE_GUILD permission and the guild must have the COMMUNITY feature enabled. All parameters are optional - you can update individual fields without providing all values. When specifying channel emojis, use `emoji_name` (unicode emoji like '👋' or custom emoji name) while `emoji_id` must be `null` if sent.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | No | Whether the welcome screen is enabled. Set to `true` to enable, `false` to disable. Set to `null` to leave unchanged. |
| `guild_id` | string | Yes | The unique ID (snowflake) of the guild (server) whose welcome screen is to be updated. |
| `description` | string | No | The server description to show in the welcome screen. Set to `null` to remove the description. |
| `welcome_channels` | array | No | An array of welcome channel objects (max 5). These channels are highlighted on the welcome screen. Set to `null` or an empty list to remove all welcome channels. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Guild Widget Settings

**Slug:** `DISCORDBOT_UPDATE_GUILD_WIDGET_SETTINGS`

Updates an existing Discord guild's widget settings, such as its enabled state or invite channel. Requires MANAGE_GUILD permission. Widget settings control the public widget that can be embedded on external websites to show server information.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `enabled` | boolean | No | Enables (true) or disables (false) the guild widget. Omit to leave unchanged. |
| `guild_id` | string | Yes | Unique ID (Snowflake ID) of the Discord guild whose widget settings are to be updated. |
| `channel_id` | string | No | The channel ID (snowflake) to set as the widget's invite channel, or explicitly None to clear it. Omit entirely to leave the current channel unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update channel message

**Slug:** `DISCORDBOT_UPDATE_MESSAGE`

Updates a message previously sent by the bot in a Discord channel, by modifying its content, embeds, components, flags, or attachment metadata (new attachments cannot be uploaded); only provide fields to change, using null or an empty list to clear existing values.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `flags` | integer | No | Message flags to set (e.g., 4 for SUPPRESS_EMBEDS). Consult Discord API documentation for all flags. |
| `embeds` | array | No | List of up to 10 embed objects. Set to null or an empty list to remove all. |
| `content` | string | No | New message content (up to 2000 characters). Set to null or an empty string to remove. |
| `channel_id` | string | Yes | ID of the channel where the message is located. |
| `components` | array | No | List of message component objects (e.g., buttons, select menus). Set to an empty list to remove. |
| `message_id` | string | Yes | ID of the message to update. |
| `attachments` | array | No | List of attachments to keep or update metadata for. New files cannot be uploaded here. Omit item or provide empty list to remove an attachment. |
| `sticker_ids` | array | No | List of up to 3 sticker IDs the bot can access. Set to an empty list to remove. |
| `allowed_mentions` | object | No | Controls which mentions trigger notifications. Provide a dict with keys: 'parse' (list of 'roles', 'users', and/or 'everyone'), 'roles' (list of role IDs to mention), 'users' (list of user IDs to mention), 'replied_user' (bool, whether to mention the author of the message being replied to). Set to null for default behavior. Example: {'parse': ['users'], 'roles': [], 'users': ['123456789']} |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update application description

**Slug:** `DISCORDBOT_UPDATE_MY_APPLICATION`

Modifies settings for the current authenticated Discord application (e.g., description, icon, interaction URLs); setting `team_id` to `null` (None) transfers team ownership, while `null` (None) for `type` or `install_params` clears/resets them.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `icon` | string | No | Base64 encoded data URI for the application's icon (e.g., JPEG, PNG). |
| `tags` | array | No | List of up to 5 tags describing the application (max 20 characters per tag). |
| `type` | null | No | Application type. If provided, must be `null` (None in Python) to unset or reset to a default. Consult Discord's documentation for behavior of `null`. |
| `flags` | integer | No | Bitwise [application flags](https://discord.com/developers/docs/resources/application#application-object-application-flags) value. Consult Discord's documentation for specific flag values. |
| `team_id` | null | No | Team ID of the application owner. If provided, must be `null` (None in Python) to transfer ownership of a team-owned app to the current user. |
| `cover_image` | string | No | Base64 encoded data URI for the application's cover image (e.g., JPEG, PNG). |
| `install_params` | null | No | Installation parameters (OAuth2 scopes, permissions) for the app's default install link. If provided, must be `null` (None in Python) to clear existing custom parameters. |
| `max_participants` | integer | No | Maximum participants for an embedded application (activity). Minimum 1; absolute maximum depends on the activity. |
| `custom_install_url` | string | No | Custom HTTPS URL for post-authorization redirection, bypassing default Discord screen. |
| `description__default` | string | No | The default description of the application. |
| `interactions_endpoint_url` | string | No | HTTPS URL where Discord sends HTTP POST requests for interactions (e.g., slash commands, message components). |
| `description__localizations` | object | No | Dictionary of [locale keys](https://discord.com/developers/docs/reference#locales) to localized descriptions. |
| `role_connections_verification_url` | string | No | HTTPS URL for Discord to redirect users for role-linked verification when connecting their account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update bot's nickname in guild

**Slug:** `DISCORDBOT_UPDATE_MY_GUILD_MEMBER`

Modifies the current bot's member profile (nickname) in a Discord guild. This endpoint allows the bot to change its own nickname in the specified guild. The bot must be a member of the guild to use this endpoint.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `nick` | string | No | The new nickname for the bot in the guild. Set to null or omit this parameter to remove the nickname and reset to the bot's username. Maximum 32 characters. If the bot doesn't have the CHANGE_NICKNAME permission, this will fail. |
| `guild_id` | string | Yes | The unique identifier (snowflake ID) of the Discord guild where the bot's nickname will be updated. The bot must be a member of this guild. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update current bot user profile

**Slug:** `DISCORDBOT_UPDATE_MY_USER`

Updates the current bot user's Discord username and/or avatar. This endpoint only works with bot tokens, not OAuth2 user tokens. At least one field (username or avatar) must be provided to update the profile. Username changes are rate-limited to 2 per hour per account.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `avatar` | string | No | Base64 encoded image data for the new avatar (format: 'data:image/jpeg;base64,BASE64_STRING' or 'data:image/png;base64,BASE64_STRING'). Supported formats: JPG, PNG, GIF (including animated). Max size: 10 MB for static, 512 KB for animated GIFs. Set to null explicitly to remove the avatar. If omitted entirely (not provided in the request), the current avatar remains unchanged. |
| `username` | string | No | The new username for the bot user. Must be 2-32 characters. Cannot contain '@', '#', ':', backslashes, 'discord', or be 'everyone' or 'here'. Most Unicode characters are allowed. Changes are subject to Discord rate limits (2 changes per hour). If omitted, the current username remains unchanged. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch webhook original message

**Slug:** `DISCORDBOT_UPDATE_ORIGINAL_WEBHOOK_MESSAGE`

Updates the original editable message previously sent by a webhook, allowing partial modification of its content (max 2000 chars), embeds (max 10), attachments (kept by `id`, metadata updatable), components, allowed mentions, and flags.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `flags` | integer | No | Integer value representing message flags combined as a bitfield. For example, flag `4` (SUPPRESS_EMBEDS). Consult Discord API for a list of message flag values. |
| `embeds` | array | No | An array of up to 10 embed objects to be displayed with the message. Send `null` or an empty list to remove all embeds. |
| `content` | string | No | The new message content as a string (0-2000 characters). Send `null` or an empty string to remove existing content. |
| `thread_id` | string | No | If the message is part of a thread, this is the ID of the thread. Edits the message within that thread. |
| `components` | array | No | An array of message component objects (e.g., buttons, select menus). Send `null` or an empty list to remove components. |
| `webhook_id` | string | Yes | The ID of the webhook executing this message update. |
| `attachments` | array | No | Array of attachment objects to be associated with the message. To keep an existing attachment, include its `id`. To update metadata of an attachment, include its `id` and new `filename` or `description`. Adding new files typically requires a multipart/form-data request, not solely this JSON body. |
| `webhook_token` | string | Yes | The secure token for the webhook. |
| `allowed_mentions` | object | No | Controls which mentions in the message content will actually ping users/roles. Structure: {'parse': ['users', 'roles', 'everyone'], 'users': ['user_id1', ...], 'roles': ['role_id1', ...]}. Omit to use default mention parsing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Modify guild voice state for me

**Slug:** `DISCORDBOT_UPDATE_SELF_VOICE_STATE`

Updates the bot's voice state in a guild Stage channel (e.g., suppress/unsuppress audio, request to speak). Requires the bot to already be connected to a stage channel via Gateway API. Cannot be used to join, switch, or disconnect from voice channels.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `guild_id` | string | Yes | The unique identifier of the Discord guild where the user's voice state is to be updated. |
| `suppress` | boolean | No | Toggles audio suppression state in Stage channels. True to suppress (mute), False to unsuppress (unmute). Requires MUTE_MEMBERS permission to unsuppress, but can always suppress self. |
| `channel_id` | string | No | The ID of the stage channel (snowflake). Must point to a stage channel where the bot is currently connected. This parameter is required for stage channel operations. |
| `request_to_speak_timestamp` | string | No | ISO8601 timestamp for requesting to speak in a Stage channel. Set to a present or future time to request to speak, or null to clear the request. Requires REQUEST_TO_SPEAK permission to request (but can always clear own request). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Patch guild voice state

**Slug:** `DISCORDBOT_UPDATE_VOICE_STATE`

Updates another user's voice state in a Discord stage channel. IMPORTANT: This endpoint ONLY works for stage channels (not regular voice channels). Primary use is toggling the 'suppress' state to control speaking permissions. Requires the user to already be in the specified stage channel and the bot must have MUTE_MEMBERS permission. Returns 204 No Content on success.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The ID of the user whose voice state is to be updated. |
| `guild_id` | string | Yes | The ID of the Discord guild where the user's voice state will be updated. |
| `suppress` | boolean | No | Controls whether the user is suppressed (denied permission to speak) in the stage channel. Set to true to suppress (mute), false to unsuppress (allow speaking). When a non-bot user is unsuppressed, their request_to_speak_timestamp is automatically set to the current time. Requires MUTE_MEMBERS permission. |
| `channel_id` | string | No | The ID of the stage channel where the user is currently participating. Required for this endpoint to work properly, as voice state modifications are only supported for stage channels in Discord API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update webhook details patch

**Slug:** `DISCORDBOT_UPDATE_WEBHOOK`

Updates properties (e.g., name, avatar, channel ID) of an existing Discord webhook; the webhook and any new channel (if specified) must exist, with the new channel being in the same server.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | New default name for the webhook. |
| `avatar` | string | No | Data URI for the new webhook avatar image (e.g., `data:image/png;base64,iVBORw0KGgo...`). Set to `null` to remove the avatar and reset to default. |
| `channel_id` | string | No | ID of the new channel to associate with the webhook, effectively moving it. |
| `webhook_id` | string | Yes | Unique identifier of the webhook to be updated. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update webhook name and avatar

**Slug:** `DISCORDBOT_UPDATE_WEBHOOK_BY_TOKEN`

Updates the default name and/or avatar for an existing Discord webhook, using its ID and token.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The new default name for the webhook (1-80 characters). If omitted, the webhook name will remain unchanged. This is the display name shown when the webhook posts messages. |
| `avatar` | string | No | Data URI string containing the new default webhook avatar image (format: 'data:image/jpeg;base64,<base64_data>' or 'data:image/png;base64,<base64_data>'). If omitted, the avatar will remain unchanged. Set to null to remove the current avatar. |
| `webhook_id` | string | Yes | The unique ID (snowflake) of the Discord webhook to update. This is the numeric ID portion of the webhook URL. |
| `webhook_token` | string | Yes | The secure token of the Discord webhook. This is the alphanumeric string after the webhook ID in the webhook URL. Unlike bot-authenticated endpoints, this action uses the webhook's token for authentication. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update discord message with webhook

**Slug:** `DISCORDBOT_UPDATE_WEBHOOK_MESSAGE`

Updates a message previously sent by the *same* webhook, allowing partial modification of content, embeds, attachments, or components; will not edit user/bot messages.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `flags` | integer | No | Message flags (bitfield). `SUPPRESS_EMBEDS` (4) is modifiable by default. |
| `embeds` | array | No | Up to 10 embed objects; replaces existing embeds. |
| `content` | string | No | New message text (max 2000 chars). Empty string removes content; `None` leaves unchanged. |
| `thread_id` | string | No | ID of the target thread; webhook must have send permissions if specified. |
| `components` | array | No | Message components (e.g., buttons); replaces existing. Max 5 action rows with component limits. |
| `message_id` | string | Yes | ID of the message to update (path parameter). |
| `webhook_id` | string | Yes | Webhook ID (path parameter). |
| `attachments` | array | No | Attachments to keep/update. Must include existing `id`. Unlisted original attachments are removed. New files require separate upload and new ID reference. |
| `webhook_token` | string | Yes | Webhook token (path parameter). |
| `allowed_mentions` | object | No | Controls which mentions in the message content trigger pings. Structure: {'parse': ['users', 'roles', 'everyone'] (array of mention types to parse), 'users': ['user_id_1', 'user_id_2'] (array of user IDs allowed to be mentioned), 'roles': ['role_id_1', 'role_id_2'] (array of role IDs allowed to be mentioned)}. Omit to use default parsing. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
