discord-automation
通过Rube MCP(Composio)自动化Discord任务:消息、频道、角色、Webhook、反应。始终优先搜索工具以获取当前模式。
Discord Automation via Rube MCP
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
Prerequisites
RUBE_MANAGE_CONNECTIONS with toolkits discord and discordbotRUBE_SEARCH_TOOLS first to get current tool schemasSetup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
RUBE_SEARCH_TOOLS respondsRUBE_MANAGE_CONNECTIONS with toolkit discordbot (bot operations) or discord (user operations)Core Workflows
1. Send Messages
When to use: User wants to send messages to channels or DMs
Tool sequence:
DISCORD_LIST_MY_GUILDS - List guilds the bot belongs to [Prerequisite]DISCORDBOT_LIST_GUILD_CHANNELS - List channels in a guild [Prerequisite]DISCORDBOT_CREATE_MESSAGE - Send a message [Required]DISCORDBOT_UPDATE_MESSAGE - Edit a sent message [Optional]Key parameters:
channel_id: Channel snowflake IDcontent: Message text (max 2000 characters)embeds: Array of embed objects for rich contentguild_id: Guild ID for channel listingPitfalls:
2. Send Direct Messages
When to use: User wants to DM a Discord user
Tool sequence:
DISCORDBOT_CREATE_DM - Create or get DM channel [Required]DISCORDBOT_CREATE_MESSAGE - Send message to DM channel [Required]Key parameters:
recipient_id: User snowflake ID for DMchannel_id: DM channel ID from CREATE_DMPitfalls:
3. Manage Roles
When to use: User wants to create, assign, or remove roles
Tool sequence:
DISCORDBOT_CREATE_GUILD_ROLE - Create a new role [Optional]DISCORDBOT_ADD_GUILD_MEMBER_ROLE - Assign role to member [Optional]DISCORDBOT_DELETE_GUILD_ROLE - Delete a role [Optional]DISCORDBOT_GET_GUILD_MEMBER - Get member details [Optional]DISCORDBOT_UPDATE_GUILD_MEMBER - Update member (roles, nick, etc.) [Optional]Key parameters:
guild_id: Guild snowflake IDuser_id: User snowflake IDrole_id: Role snowflake IDname: Role namepermissions: Bitwise permission valuecolor: RGB color integerPitfalls:
4. Manage Webhooks
When to use: User wants to create or use webhooks for external integrations
Tool sequence:
DISCORDBOT_GET_GUILD_WEBHOOKS / DISCORDBOT_LIST_CHANNEL_WEBHOOKS - List webhooks [Optional]DISCORDBOT_CREATE_WEBHOOK - Create a new webhook [Optional]DISCORDBOT_EXECUTE_WEBHOOK - Send message via webhook [Optional]DISCORDBOT_UPDATE_WEBHOOK - Update webhook settings [Optional]Key parameters:
webhook_id: Webhook IDwebhook_token: Webhook secret tokenchannel_id: Channel for webhook creationname: Webhook namecontent/embeds: Message content for executionPitfalls:
5. Manage Reactions
When to use: User wants to view or manage message reactions
Tool sequence:
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI - List users who reacted [Optional]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS - Remove all reactions [Optional]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI - Remove specific emoji reactions [Optional]DISCORDBOT_DELETE_USER_MESSAGE_REACTION - Remove specific user's reaction [Optional]Key parameters:
channel_id: Channel IDmessage_id: Message snowflake IDemoji_name: URL-encoded emoji or name:id for custom emojisuser_id: User ID for specific reaction removalPitfalls:
name:id formatCommon Patterns
Snowflake IDs
Discord uses snowflake IDs (64-bit integers as strings) for all entities:
Permission Bitfields
Permissions are combined using bitwise OR:
Pagination
limit, before, after parametersafter for paginationKnown Pitfalls
Bot vs User Tokens:
discordbot toolkit uses bot tokens; discord uses user OAuthRate Limits:
Retry-After headers on 429 responsesQuick Reference
| Task | Tool Slug | Key Params |
|---|---|---|
| List guilds | DISCORD_LIST_MY_GUILDS | (none) |
| List channels | DISCORDBOT_LIST_GUILD_CHANNELS | guild_id |
| Send message | DISCORDBOT_CREATE_MESSAGE | channel_id, content |
| Edit message | DISCORDBOT_UPDATE_MESSAGE | channel_id, message_id |
| Get messages | DISCORDBOT_LIST_MESSAGES | channel_id, limit |
| Create DM | DISCORDBOT_CREATE_DM | recipient_id |
| Create role | DISCORDBOT_CREATE_GUILD_ROLE | guild_id, name |
| Assign role | DISCORDBOT_ADD_GUILD_MEMBER_ROLE | guild_id, user_id, role_id |
| Delete role | DISCORDBOT_DELETE_GUILD_ROLE | guild_id, role_id |
| Get member | DISCORDBOT_GET_GUILD_MEMBER | guild_id, user_id |
| Update member | DISCORDBOT_UPDATE_GUILD_MEMBER | guild_id, user_id |
| Get guild | DISCORDBOT_GET_GUILD | guild_id |
| Create webhook | DISCORDBOT_CREATE_WEBHOOK | channel_id, name |
| Execute webhook | DISCORDBOT_EXECUTE_WEBHOOK | webhook_id, webhook_token |
| List webhooks | DISCORDBOT_GET_GUILD_WEBHOOKS | guild_id |
| Get reactions | DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI | channel_id, message_id, emoji_name |
| Clear reactions | DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS | channel_id, message_id |
| Test auth | DISCORDBOT_TEST_AUTH | (none) |
| Get channel | DISCORDBOT_GET_CHANNEL | channel_id |