Discord Bot
Overview
Section titled “Overview”Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, user management, and community engagement. With the integration in SquadOS, your agents can send and edit messages in channels, manage members and roles, create channels and events, moderate content, trigger webhooks, and much more — all programmatically and in real time.
- Official website: https://discord.com/
- Composio documentation: docs.composio.dev/toolkits/discordbot
Authentication
Section titled “Authentication”This tool uses OAuth 2.0 (OAUTH2) to connect.
You will need to authorize access via your Discord account. Composio manages the OAuth flow — you are redirected to Discord’s authorization screen and, once done, returned connected.
| Field | Required | Description |
|---|---|---|
| N/A | N/A | Access is authorized via OAuth 2.0 through Discord; there are no manual fields. |
How to connect in SquadOS
Section titled “How to connect in SquadOS”- Go to Tools in the side menu (
/admin/tools). - Open the Available tab and search for
Discord Bot. - Click the card to open the details and hit Connect.
- You’re taken to the secure connection page hosted by Composio, where you authorize access via OAuth 2.0 with your Discord account.
- Once done, you’re sent back to SquadOS with the account connected and the tool available to agents. (Connection-flow details in Organization Tools.)
Available actions
Section titled “Available actions”Send Message To Channel
Section titled “Send Message To Channel”DISCORDBOT_CREATE_MESSAGE
Sends a message to a Discord channel. Supports text content, embeds, stickers, components, and replies. Requires SEND_MESSAGES permission and at least one of content, embeds, sticker_ids, or components.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel to send the message to. |
content | string | No | Message text content (max 2000 characters). Required if embeds, sticker_ids, and components are all empty. |
embeds | array | No | Up to 10 embed objects. Each embed can contain title, description, url, timestamp, color, footer, image, thumbnail, video, provider, author, and fields. |
tts | boolean | No | Whether this is a text-to-speech message. |
flags | integer | No | Message flags (e.g., 4 for SUPPRESS_EMBEDS, 64 for EPHEMERAL). |
components | array | No | Up to 5 action rows of interactive components (buttons, select menus). |
sticker_ids | array | No | Up to 3 sticker IDs accessible to the bot. |
allowed_mentions | object | No | Controls which mentions in content trigger notifications. |
message_reference | object | No | Reference for replying to a message. Requires message_id. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Fetch Messages From Channel
Section titled “Fetch Messages From Channel”DISCORDBOT_LIST_MESSAGES
Retrieves messages from a Discord channel, ordered newest first. Supports pagination via before/after/around parameters.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the Discord channel to fetch messages from. |
limit | integer | No | Max number of messages to return (1-100, defaults to 50). |
before | string | No | Get messages before this message ID for backward pagination. |
after | string | No | Get messages after this message ID for forward pagination. |
around | string | No | Get messages around this message ID. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Message
Section titled “Get Message”DISCORDBOT_GET_MESSAGE
Retrieves a specific message from a Discord channel by channel and message ID.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The ID of the Discord channel containing the message. |
message_id | string | Yes | The ID of the message to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Edit Message
Section titled “Edit Message”DISCORDBOT_UPDATE_MESSAGE
Edits a message previously sent by the bot. Only provide fields you want to change; use null or empty list to clear values.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel containing the message to edit. |
message_id | string | Yes | ID of the message to edit. Must be a message sent by the bot. |
content | string | No | New message content (max 2000 characters). Set to empty string to clear. |
embeds | array | No | Up to 10 embed objects. Set to empty list to remove all embeds. |
flags | integer | No | Message flags to set (e.g., 4 for SUPPRESS_EMBEDS). |
components | array | No | Message components (buttons, select menus). Set to empty list to remove. |
attachments | array | No | Attachments to keep or update metadata for. Omit to keep existing; empty list removes all. |
allowed_mentions | object | No | Controls which mentions trigger notifications. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Delete Message
Section titled “Delete Message”DISCORDBOT_DELETE_MESSAGE
Permanently deletes a message from a Discord channel. The bot can delete its own messages or, with MANAGE_MESSAGES permission, delete messages from other users.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel containing the message to delete. |
message_id | string | Yes | ID of the message to delete. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Bulk Delete Messages
Section titled “Bulk Delete Messages”DISCORDBOT_BULK_DELETE_MESSAGES
Bulk deletes messages in a Discord channel. Requires MANAGE_MESSAGES permission. Messages must be less than 14 days old. Between 2 and 100 messages can be deleted at once.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel from which to bulk delete messages. |
messages | array | Yes | List of message IDs to delete (2-100). All messages must be less than 14 days old. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Pin Message
Section titled “Pin Message”DISCORDBOT_PIN_MESSAGE
Pins a message in a Discord channel. Requires MANAGE_MESSAGES permission. A channel can have at most 50 pinned messages.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel containing the message to pin. |
message_id | string | Yes | ID of the message to pin. Channel cannot exceed 50 pinned messages. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Unpin Message
Section titled “Unpin Message”DISCORDBOT_UNPIN_MESSAGE
Unpins a message from a Discord channel. The message is not deleted, only removed from the pinned list. Requires MANAGE_MESSAGES permission.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel containing the pinned message. |
message_id | string | Yes | ID of the message to unpin. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Add Reaction To Message
Section titled “Add Reaction To Message”DISCORDBOT_ADD_MY_MESSAGE_REACTION
Adds an emoji reaction from the bot to a message. Requires READ_MESSAGE_HISTORY, and ADD_REACTIONS if no one else has reacted with this emoji yet.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | ID of the channel containing the message. |
message_id | string | Yes | ID of the message to react to. |
emoji | string | Yes | Emoji to react with. For Unicode emojis use the character directly (e.g., ’👍’). For custom emojis use ‘name:id’ format (e.g., ‘myemoji:123456789012345678’). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Trigger Typing Indicator
Section titled “Trigger Typing Indicator”DISCORDBOT_TRIGGER_TYPING_INDICATOR
Shows the bot is typing in a Discord channel. The indicator stops after 10 seconds or upon message send. Use when actively preparing a response.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The unique identifier of the Discord channel where the typing indicator should be displayed. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Guild Channel
Section titled “Create Guild Channel”DISCORDBOT_CREATE_GUILD_CHANNEL
Creates a new Discord channel (text, voice, category, etc.) within a guild. Requires MANAGE_CHANNELS permission.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | ID of the guild (server) to create the channel in. |
name | string | Yes | Channel name (1-100 characters). |
type | integer | No | Type of channel (0: GUILD_TEXT, 2: GUILD_VOICE, 4: GUILD_CATEGORY, 5: GUILD_ANNOUNCEMENT, 13: GUILD_STAGE_VOICE, 15: GUILD_FORUM). |
topic | string | No | Channel topic (0-1024 characters for text; 0-4096 for forum/media channels). |
parent_id | string | No | ID of the parent category for this channel. |
position | integer | No | Sorting position of the channel. |
nsfw | boolean | No | Whether the channel is age-restricted. |
rate_limit_per_user | integer | No | Slowmode: seconds a user must wait before sending another message (0-21600). |
permission_overwrites | array | No | Permission overwrite objects for the channel. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Retrieve Channel Details
Section titled “Retrieve Channel Details”DISCORDBOT_GET_CHANNEL
Retrieves detailed metadata for a specific Discord channel by its channel_id. Returns only channel metadata, not message content or member lists.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The ID of the Discord channel to retrieve. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create New Thread in Channel
Section titled “Create New Thread in Channel”DISCORDBOT_CREATE_THREAD
Creates a new thread in a text, announcement, forum, or media channel.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The ID of the channel in which the new thread will be created. |
name | string | Yes | The name of the thread (1-100 characters). |
type | integer | No | The type of thread to create. 10 for announcement, 11 for public, 12 for private. |
message | object | No | The initial message to send in the thread. Required for forum and media channels. |
auto_archive_duration | integer | No | Duration in minutes to automatically archive the thread after inactivity. Values: 60, 1440, 4320, 10080. |
rate_limit_per_user | integer | No | Seconds a user must wait before sending another message (0-21600). |
invitable | boolean | No | Whether non-moderators can add other non-moderators to the thread. Only for private threads. |
applied_tags | array | No | Array of tag IDs to apply to the thread. Only for forum and media channels. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Channel Webhook
Section titled “Create Channel Webhook”DISCORDBOT_CREATE_WEBHOOK
Creates a new webhook in a specified Discord channel, requiring MANAGE_WEBHOOKS permission.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The ID of the channel to create the webhook in. |
name | string | Yes | Name for the webhook (1-80 characters). |
avatar | string | No | Base64-encoded image data URI for the webhook avatar (e.g. ‘data:image/png;base64,…’). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Execute Webhook
Section titled “Execute Webhook”DISCORDBOT_EXECUTE_WEBHOOK
Executes a Discord webhook to send messages, embeds, or interactive components to a channel or thread.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
webhook_id | string | Yes | The unique ID of the Discord webhook. |
webhook_token | string | Yes | The secret token for the Discord webhook. |
content | string | No | Message text content (max 2000 characters). |
embeds | array | No | Up to 10 embed objects for rich content. |
username | string | No | Override the default username of the webhook (max 80 characters). |
avatar_url | string | No | Override the default avatar of the webhook with a URL to an image. |
tts | boolean | No | Send as a text-to-speech message. |
components | array | No | Message components (buttons, select menus), up to 5 action rows. |
thread_id | string | No | ID of a thread in the webhook’s channel to send the message to. |
thread_name | string | No | Name of a thread to create when executing on a forum channel (max 100 characters). |
wait | boolean | No | If true, waits for server confirmation and returns a message object. Defaults to true. |
flags | integer | No | Message flags bitfield (e.g. 4 for SUPPRESS_EMBEDS, 4096 for SUPPRESS_NOTIFICATIONS). |
allowed_mentions | object | No | Controls which mentions in content actually ping recipients. |
applied_tags | array | No | Array of tag IDs to apply to a forum thread (only works with thread_name). |
poll | object | No | A poll object to attach to the message. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Retrieve Guild Details
Section titled “Retrieve Guild Details”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
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild (server) to retrieve. |
with_counts | boolean | No | When true, includes approximate member and presence counts for the guild. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Add Guild Member
Section titled “Add Guild Member”DISCORDBOT_ADD_GUILD_MEMBER
Adds a user to a Discord guild using their OAuth2 access token (which must have guilds.join scope). Returns the guild member object on 201 Created, or indicates the user is already a member on 204.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the guild to add the user to. |
user_id | string | Yes | The unique identifier (snowflake ID) of the user to add. |
access_token | string | Yes | OAuth2 access token for the user, with guilds.join scope, to authorize adding them to the guild. |
nick | string | No | Nickname to set for the user in this guild. Maximum 32 characters. |
roles | array | No | List of role IDs to assign to the user upon joining. |
mute | boolean | No | Whether the user should be server muted in voice channels. |
deaf | boolean | No | Whether the user should be server deafened in voice channels. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Get Guild Members
Section titled “Get Guild Members”DISCORDBOT_LIST_GUILD_MEMBERS
Retrieves a list of members for a Discord guild. Requires GUILD_MEMBERS intent. Supports pagination via limit and after parameters.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild (server) to retrieve members from. |
limit | integer | No | Max number of members to return (1-1000). Defaults to 1 if not specified. |
after | string | No | User ID for pagination offset; fetches members with IDs greater than this value. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Search Guild Members by Username or Nickname
Section titled “Search Guild Members by Username or Nickname”DISCORDBOT_SEARCH_GUILD_MEMBERS
Searches for members in a specific Discord guild by matching a query string against usernames and nicknames. Returns matching guild member objects.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild (server) to search within. |
query | string | Yes | The query string to match against usernames or nicknames. The search is prefix-based (e.g., ‘adm’ will match ‘admin’). |
limit | integer | No | Maximum number of members to return (1-1000). Defaults to 1 if not specified. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Ban User from Guild
Section titled “Ban User from Guild”DISCORDBOT_BAN_USER_FROM_GUILD
Permanently bans a user from a Discord guild, optionally deleting their recent messages.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The ID of the guild to ban the user from. |
user_id | string | Yes | The ID of the user to ban. |
delete_message_seconds | integer | No | Number of seconds (0-604800) of the user’s past messages to delete. Defaults to 0. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Unban User from Guild
Section titled “Unban User from Guild”DISCORDBOT_UNBAN_USER_FROM_GUILD
Revokes a ban for a user from a Discord guild, allowing them to rejoin. Requires BAN_MEMBERS permission.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The ID of the guild to remove the ban from. |
user_id | string | Yes | The ID of the user to unban. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Assign Role to Guild Member
Section titled “Assign Role to Guild Member”DISCORDBOT_ADD_GUILD_MEMBER_ROLE
Assigns a role to a guild member. Requires MANAGE_ROLES permission and the role must be lower in hierarchy than the bot’s highest role. Returns 204 on success.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild where the member and role exist. |
user_id | string | Yes | The unique identifier (snowflake ID) of the Discord user to whom the role will be added. |
role_id | string | Yes | The unique identifier (snowflake ID) of the Discord role to be assigned to the member. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Role with Guild ID
Section titled “Create Role with Guild ID”DISCORDBOT_CREATE_GUILD_ROLE
Creates a new role in a Discord guild with customizable name, permissions, color, hoist, mentionability, and icon. Requires MANAGE_ROLES permission. The icon and unicode_emoji fields are mutually exclusive.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild where the role will be created. |
name | string | No | Name for the new role. If omitted, Discord defaults to ‘new role’. |
color | integer | No | RGB color value for the role as an integer (e.g., red is 16711680). Defaults to 0 (no color). |
hoist | boolean | No | If true, displays the role separately in the member list. Defaults to false. |
mentionable | boolean | No | If true, this role can be mentioned by others. Defaults to false. |
permissions | string | No | Bitwise integer for role permissions combined from Discord permission flags. |
icon | string | No | Hash of a custom image for the role’s icon. Mutually exclusive with unicode_emoji. |
unicode_emoji | string | No | Standard Unicode emoji for the role’s icon. Mutually exclusive with icon. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Channel Invite
Section titled “Create Channel Invite”DISCORDBOT_CREATE_CHANNEL_INVITE
Creates a new invite link for a Discord channel. Requires CREATE_INSTANT_INVITE permission.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
channel_id | string | Yes | The ID of the channel to create an invite for. |
max_age | integer | No | Duration of invite in seconds before expiry, or 0 for never. Must be 0-604800. 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. Defaults to false. |
unique | boolean | No | If true, do not reuse a similar invite. Useful for creating many unique one-time invites. |
target_type | integer | No | The type of target for this voice channel invite. 1 for Stream, 2 for Embedded Application. |
target_user_id | string | No | The ID of the user whose stream to display. Required if target_type is 1. |
target_application_id | string | No | The ID of the embedded application to open. Required if target_type is 2. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Create Guild Scheduled Event
Section titled “Create Guild Scheduled Event”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. STAGE_INSTANCE/VOICE require channel_id, while EXTERNAL requires entity_metadata with a location and scheduled_end_time.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier (snowflake ID) of the Discord guild where the event will be created. |
name | string | Yes | The name of the scheduled event (1-100 characters). |
entity_type | integer | Yes | The entity type: 1=STAGE_INSTANCE, 2=VOICE, 3=EXTERNAL. |
scheduled_start_time | string | Yes | The time the event will start (ISO8601 timestamp, e.g., ‘2024-12-31T20:00:00’). |
channel_id | string | No | The channel ID where the event will be hosted. Required for STAGE_INSTANCE and VOICE entity types. Must be null for EXTERNAL. |
description | string | No | The description of the scheduled event (1-1000 characters). |
privacy_level | integer | No | The privacy level of the event. Use 2 for GUILD_ONLY (only accessible to guild members). |
scheduled_end_time | string | No | The time the event will end (ISO8601 timestamp). Required for EXTERNAL entity type. |
entity_metadata | object | No | Additional metadata for the guild scheduled event. |
image | string | No | The cover image as a base64 data URI (e.g., ‘data:image/png;base64,…’). |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Leave Guild
Section titled “Leave Guild”DISCORDBOT_LEAVE_GUILD
Enables the bot to leave a specified Discord guild (server). This action is irreversible and the bot must be re-invited to rejoin.
Input parameters
Section titled “Input parameters”| Name | Type | Required | Description |
|---|---|---|---|
guild_id | string | Yes | The unique identifier of the Discord guild (server) the bot wishes to leave. |
Output
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |
Test Bot Token Authentication
Section titled “Test Bot Token Authentication”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
Section titled “Output”| Name | Type | Required | Description |
|---|---|---|---|
data | string | Yes | Data from the action execution. |
error | string | No | Error message if execution failed. |
successful | boolean | Yes | Whether the action executed successfully. |