Discord Bot
Discordbot refers to automated programs on Discord servers, performing tasks like moderation, music playback, and user engagement to enhance community interactions
Verdict
Common use cases
- Bulk moderate spam messages during raids
- Assign roles to new members from chat
- Create invite links for partner servers
- Archive completed project threads automatically
- React to milestone messages with emojis
Integration
- Vendor
- Discord Bot
- Category
- communication
- Auth
- OAUTH2
- Tools
- 50
- Composio slug
discordbot
Tools
- Add or update 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.
- Add reaction to message
Adds an emoji reaction from the authenticated user/bot to a specific message in a discord channel; does not return information about existing reactions.
- Add recipient to group channel
Adds a user to a discord group direct message (dm) channel.
- Assign role to guild member
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.
- Bulk ban users in guild with message deletion option
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.
- Bulk delete messages in channeldestructive
Atomically bulk deletes messages in a discord channel for moderation or maintenance; deletion may not be instantaneous and messages are unrecoverable.
- Create application command objects
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
- Create channel invite
Creates a new invite for the specified discord channel, provided the bot has 'create instant invite' permission for that channel.
- Create channel 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.
- 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.
- Create guild auto moderation rule
Creates a new auto moderation rule for a discord guild, requiring 'manage guild' permission; rule parameters are passed in the json request body (see request schema description for body content).
- Create guild channel
Creates a new discord channel (text, voice, category, etc.) within a guild, with options for permissions, topic, and type-specific settings.
- Create guild emoji
Creates a new custom emoji in a specified discord guild, requiring `create expressions` permission and adherence to guild emoji limits.
- Create guild scheduled event
Creates a new scheduled event in a discord guild; a separate json request body (not defined in this action's request schema model) with event details (e.g., name, type, schedule) is required, and its specific fields depend on the event's `e
- 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.
- Create guild template
Creates a template of an existing discord guild's structure (settings, roles, channels) but not its content (e.g., messages, members).
- Create new guild object
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.
- Create new thread in channel
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.
- Create role with guild id
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.
- Create stage instance
Creates a new stage instance in a specified stage channel for live audio events; requires `manage channels`, `mute members`, and `move members` permissions in the channel.
- Create thread in message channel
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).
- Crosspost channel 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.
- Delete application commanddestructive
Permanently deletes a specific application command; this action is irreversible.
- Delete channel by iddestructive
Permanently deletes a discord channel by its id; this action is irreversible and the channel must exist and be deletable.
- Delete channel messagedestructive
Permanently and irreversibly deletes a message from a specified discord channel.
- Delete channel message reaction by emojidestructive
Removes all reactions for a specific emoji from a message in a discord channel; requires 'manage messages' permission and this operation is irreversible.
- Delete channel permission overridedestructive
Deletes a specific user's or role's permission overwrite in a discord channel, reverting their permissions to default; this action is irreversible.
- Delete channel recipientdestructive
Permanently removes a user from an accessible discord group dm channel, revoking their access.
- Delete channel thread memberdestructive
Removes a user from a specified, unarchived thread in a discord channel.
- Delete guild auto moderation ruledestructive
Deletes a specific auto-moderation rule from a discord guild.
- Delete guild by iddestructive
Permanently deletes a specified discord guild (server); the authenticated user must be the owner of the guild.
- Delete guild commanddestructive
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.
- Delete guild emoji by iddestructive
Permanently deletes a specified custom emoji from a guild, requiring 'manage expressions' permissions; cannot delete default emojis and is irreversible.
- Delete guild integrationdestructive
Permanently deletes a specific, unwanted or problematic integration from a discord guild; requires 'manage server' or 'administrator' permissions.
- Delete guild member by iddestructive
Removes (kicks) a member from a discord guild; the user must be an existing member of the specified guild, and this action is permanent.
- Delete guild member roledestructive
Removes a specified role from a member of a discord guild, provided the member currently possesses that role.
- Delete guild scheduled eventdestructive
Permanently deletes a specific scheduled event from a discord guild; this action is irreversible.
- Delete guild stickerdestructive
Permanently deletes a custom sticker from a discord guild; the specified guild and sticker must exist, and this action is irreversible.
- Delete guild template by codedestructive
Deletes an existing guild template by its unique code from a specified guild, returning the deleted template's details.
- Delete original webhook messagedestructive
Permanently deletes an existing original message posted by a webhook (using its id and token), optionally within a specific thread.
- Delete reaction from messagedestructive
Deletes all reactions (not just the bot's) from a message in a channel; requires 'manage messages' permission.
- Delete role from guilddestructive
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.
- Delete stage instance by channel iddestructive
Deletes the stage instance for the given `channel id`, permanently ending its live audio event.
- Delete user reaction on messagedestructive
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.
- Initiate user channel with recipient
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.
- Modify guild ban settings
Permanently bans a user from a discord guild, optionally deleting their recent messages (specify deletion period in seconds or days, not both).
- Post guild template by code
Creates a new discord guild by applying channels, roles, and settings from a specified, valid, and accessible guild template code.
- Post interaction callback
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.
- Post message to channel
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`.
- Update guild member information
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.
Setup
Setup guide
- 11. In Switchy, open Settings → Integrations → Add Integration and select Discord Bot. 2. Click 'Connect' to start OAuth; Discord will prompt you to select a server and authorize scopes like 'Manage Messages', 'Manage Roles', 'Ban Members', and 'Create Instant Invite' — grant only what your team needs. 3. Confirm the bot appears in your server's member list with a 'Bot' tag and the correct role hierarchy (it can only manage roles below its own). 4. Return to Switchy and test the connection: open any Space, type '@Discord Bot list channels in [your server name]' and send. 5. If you see channel names, the integration is live; if you get a permissions error, revisit your server's role settings and ensure the bot role sits above any roles it needs to assign or manage.
What teammates see: by default, memories from Discord Bot are scoped to the Space (PROJECT visibility) - you can mark any memory PRIVATE or share it ORG-wide.
Works well with
Top models
Compatibility data appears once enough Spaces have used this MCP together with a given model.
How Switchy teams use it
Starter prompts
Clean Up Spam
@Discord Bot delete the last 50 messages in #general on the Acme Community server. Confirm the count before proceeding.Open in a Space →
Onboard New Member
@Discord Bot assign the 'Verified' role to user @alex#1234 in the Acme Community server.Open in a Space →
Generate Invite Link
@Discord Bot create a 24-hour, single-use invite link for the #announcements channel in Acme Community.Open in a Space →
Archive Project Thread
@Discord Bot archive the thread 'Q1 Launch Planning' in #projects on Acme Community and remove all members except moderators.Open in a Space →
React to Milestone
@Discord Bot add a 🎉 reaction to the message with ID 123456789 in #announcements on Acme Community.Open in a Space →
Example outputs
Illustrative - representative of the model's voice and quality, not literal recordings.
@Discord Bot show me all messages in #general from the last 24 hours that mention 'bug' or 'error'
Found 12 messages matching your search in #general: • @alice (2h ago): "Seeing a weird error when I try to upload files" • @bob (4h ago): "Bug report: the login button isn't responding on mobile" • @charlie (6h ago): "Is anyone else getting this error code?" [9 more messages listed with timestamps and authors] All messages are from the past 24 hours. This is an illustrative example—actual results depend on your server's message history and the bot's channel access.
This example demonstrates read-heavy message retrieval and search. The bot needs 'Read Message History' permission in the target channel. Discord's API rate limits may slow bulk message fetching in high-traffic channels, and the bot can only access channels it's been added to.
@Discord Bot create a new thread called 'Sprint Planning Q2' in #product-team and add @sarah, @mike, and @jen to it
Created thread 'Sprint Planning Q2' in #product-team. Added members: ✓ @sarah ✓ @mike ✓ @jen The thread is now active and visible to all three members. They'll receive notifications about the new thread. This is an illustrative example—actual thread creation depends on the bot having 'Create Public Threads' or 'Create Private Threads' permission in #product-team.
This showcases the bot's ability to create structured conversations and manage membership. All added users must have access to the parent channel. For private threads, the bot must already be a member. This action is immediate but requires 'Manage Threads' permission.
@Discord Bot read the last 50 messages in #support, identify the top 3 unresolved issues, and post a summary to #team-updates
Analyzed 50 messages in #support. Here are the top 3 unresolved issues: 1. **Login timeout errors** (mentioned by 8 users) - Users report being logged out after 5 minutes of inactivity 2. **Mobile app crashes on Android 13** (5 reports) - App closes when accessing the settings menu 3. **Payment processing delays** (4 reports) - Transactions taking 24+ hours to complete Posted summary to #team-updates with links to original messages. This is an illustrative example—the AI synthesizes patterns from message content the bot retrieves.
This example pairs Discord's message-fetching tools with AI reasoning to surface trends. The bot needs 'Read Message History' in #support and 'Send Messages' in #team-updates. Rate limits apply when reading large message volumes. The summary quality depends on message clarity and the AI's pattern recognition.
Use-case deep-dives
When Discord Bot MCP handles high-volume moderation workflows
A 3-person community team managing a 2,000-member Discord server uses this MCP to automate moderation during product launches. The bulk ban and bulk delete tools let them script responses to spam waves without clicking through Discord's UI 200 times. OAuth2 auth means the bot acts with the team's permissions, so role assignments and channel invites stay auditable. The catch: if your moderation logic needs context from Slack or Linear, you're stitching two MCPs together, which adds latency. This MCP wins when Discord is your primary community surface and moderation volume justifies scripting. If you're moderating fewer than 50 actions per week, Discord's native UI is faster than writing the automation.
Using Discord threads for live webinar support
A 5-person customer success team runs monthly webinars and uses Discord threads for live Q&A. This MCP lets them programmatically add attendees to private threads, pin answers, and react to questions with status emojis—all from a Switchy workflow that pulls attendee lists from Airtable. The add-thread-member and add-reaction tools handle the repetitive setup; the team focuses on answering questions. The boundary: if your event has fewer than 20 attendees, manually creating threads is faster than OAuth setup. This MCP pays off when you're running 3+ events per month and thread management becomes a time sink. For one-off events, skip the integration.
When Discord Bot MCP isn't the right support hub
A 6-person support team fields tickets from email, Intercom, and a 400-member Discord server. They want one Switchy workspace to triage everything. The Discord Bot MCP can pull messages and post replies, but it doesn't sync ticket state back to Intercom or create Linear issues. You'd need a second MCP (like Linear or a webhook tool) to close the loop, and now you're managing OAuth for two platforms. The honest call: if Discord is less than 30% of your support volume, route Discord questions into your primary ticketing system and skip this MCP. It wins when Discord is your main support channel and you're automating moderation or role assignments, not when you're trying to unify three inboxes.
Frequently asked
What can the Discord Bot MCP do in Switchy?
It lets AI agents perform moderation and community management tasks in your Discord server — add reactions, bulk delete messages, assign roles, ban users, create invites, and manage threads. The MCP exposes 50 Discord Bot API endpoints, so agents can respond to community events without you writing custom bot code or switching to the Discord dashboard.
Do I need Discord admin permissions to connect this MCP?
You need a Discord bot token with OAuth2 scopes matching the actions you want Switchy to perform — typically 'Manage Roles', 'Ban Members', 'Manage Messages', and 'Create Instant Invite'. The bot must already be invited to your server with those permissions before you connect the MCP. Standard Discord members cannot generate bot tokens.
Can the Discord Bot MCP read message history or listen to events?
No. This MCP only exposes action tools — adding reactions, deleting messages, assigning roles. It cannot subscribe to Discord gateway events or fetch historical messages. If you need agents to respond to new messages in real time, you will need a separate Discord bot with gateway access running outside Switchy.
How is this different from using Discord's API directly?
The MCP wraps Discord's Bot API so AI agents can call it through natural language instructions instead of you writing HTTP requests and handling rate limits. You still need a Discord bot token and the same permissions, but agents can execute moderation workflows — like 'ban users who posted spam in the last hour' — without custom scripts.
Who on my team should connect the Discord Bot MCP?
Whoever manages your Discord server's bot applications and has access to the Developer Portal. That person generates the bot token, invites the bot to your server with the right permissions, then pastes the token into Switchy. Other team members can then instruct agents to use the MCP without touching Discord settings.