discord-automation
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
About this skill
This skill empowers an AI agent to programmatically control and automate various operations within Discord servers. By integrating with Composio's Discord and Discordbot toolkits via Rube MCP, the agent can send and manage messages, create and modify channels, assign and revoke user roles, manage webhooks, and react to messages. Given the 'critical' risk level associated with direct server automation, agents are instructed to always dynamically search for current tool schemas using `RUBE_SEARCH_TOOLS` to ensure up-to-date functionality and proper command execution, minimizing potential errors. This enhances the agent's ability to maintain server moderation, facilitate community engagement, and streamline communication workflows on Discord, but requires careful oversight.
Best use case
Automating Discord server management, moderating content, sending scheduled announcements, managing user roles for specific events or permissions, fetching server information, and creating dynamic responses based on user interactions.
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
Successful execution of specified Discord operations, such as sending messages to channels, assigning roles to users, creating new channels, managing webhooks, or adding reactions to messages, all performed programmatically by the AI agent.
Practical example
Example input
Please send a welcome message 'Hello, new members! Remember to check the #rules channel.' to the #general channel on our Discord server.
Example output
Message 'Hello, new members! Remember to check the #rules channel.' successfully sent to the #general channel on Discord via Rube MCP.
When to use this skill
- When an AI agent needs to perform administrative tasks on a Discord server, manage community interactions, set up automated notifications or responses, or integrate Discord operations into a larger workflow without manual intervention.
When not to use this skill
- If Discord automation is not required, if the actions need strict human approval for every step due to the 'critical' risk level, or if there is no Rube MCP connection available for the AI agent.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/discord-automation/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How discord-automation Compares
| Feature / Agent | discord-automation | Standard Approach |
|---|---|---|
| Platform Support | Claude | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | medium | N/A |
Frequently Asked Questions
What does this skill do?
Automate Discord tasks via Rube MCP (Composio): messages, channels, roles, webhooks, reactions. Always search tools first for current schemas.
Which AI agents support this skill?
This skill is designed for Claude.
How difficult is it to install?
The installation complexity is rated as medium. You can find the installation instructions above.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
Related Guides
Top AI Agents for Productivity
See the top AI agent skills for productivity, workflow automation, operational systems, documentation, and everyday task execution.
Best AI Skills for Claude
Explore the best AI skills for Claude and Claude Code across coding, research, workflow automation, documentation, and agent operations.
AI Agents for Coding
Browse AI agent skills for coding, debugging, testing, refactoring, code review, and developer workflows across Claude, Cursor, and Codex.
SKILL.md Source
# Discord Automation via Rube MCP Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP. ## Prerequisites - Rube MCP must be connected (RUBE_SEARCH_TOOLS available) - Active Discord connection via `RUBE_MANAGE_CONNECTIONS` with toolkits `discord` and `discordbot` - Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas ## Setup **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. 1. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds 2. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `discordbot` (bot operations) or `discord` (user operations) 3. If connection is not ACTIVE, follow the returned auth link to complete Discord auth 4. Confirm connection status shows ACTIVE before running any workflows ## Core Workflows ### 1. Send Messages **When to use**: User wants to send messages to channels or DMs **Tool sequence**: 1. `DISCORD_LIST_MY_GUILDS` - List guilds the bot belongs to [Prerequisite] 2. `DISCORDBOT_LIST_GUILD_CHANNELS` - List channels in a guild [Prerequisite] 3. `DISCORDBOT_CREATE_MESSAGE` - Send a message [Required] 4. `DISCORDBOT_UPDATE_MESSAGE` - Edit a sent message [Optional] **Key parameters**: - `channel_id`: Channel snowflake ID - `content`: Message text (max 2000 characters) - `embeds`: Array of embed objects for rich content - `guild_id`: Guild ID for channel listing **Pitfalls**: - Bot must have SEND_MESSAGES permission in the channel - High-frequency sends can hit per-route rate limits; respect Retry-After headers - Only messages sent by the same bot can be edited ### 2. Send Direct Messages **When to use**: User wants to DM a Discord user **Tool sequence**: 1. `DISCORDBOT_CREATE_DM` - Create or get DM channel [Required] 2. `DISCORDBOT_CREATE_MESSAGE` - Send message to DM channel [Required] **Key parameters**: - `recipient_id`: User snowflake ID for DM - `channel_id`: DM channel ID from CREATE_DM **Pitfalls**: - Cannot DM users who have DMs disabled or have blocked the bot - CREATE_DM returns existing channel if one already exists ### 3. Manage Roles **When to use**: User wants to create, assign, or remove roles **Tool sequence**: 1. `DISCORDBOT_CREATE_GUILD_ROLE` - Create a new role [Optional] 2. `DISCORDBOT_ADD_GUILD_MEMBER_ROLE` - Assign role to member [Optional] 3. `DISCORDBOT_DELETE_GUILD_ROLE` - Delete a role [Optional] 4. `DISCORDBOT_GET_GUILD_MEMBER` - Get member details [Optional] 5. `DISCORDBOT_UPDATE_GUILD_MEMBER` - Update member (roles, nick, etc.) [Optional] **Key parameters**: - `guild_id`: Guild snowflake ID - `user_id`: User snowflake ID - `role_id`: Role snowflake ID - `name`: Role name - `permissions`: Bitwise permission value - `color`: RGB color integer **Pitfalls**: - Role assignment requires MANAGE_ROLES permission - Target role must be lower in hierarchy than bot's highest role - DELETE permanently removes the role from all members ### 4. Manage Webhooks **When to use**: User wants to create or use webhooks for external integrations **Tool sequence**: 1. `DISCORDBOT_GET_GUILD_WEBHOOKS` / `DISCORDBOT_LIST_CHANNEL_WEBHOOKS` - List webhooks [Optional] 2. `DISCORDBOT_CREATE_WEBHOOK` - Create a new webhook [Optional] 3. `DISCORDBOT_EXECUTE_WEBHOOK` - Send message via webhook [Optional] 4. `DISCORDBOT_UPDATE_WEBHOOK` - Update webhook settings [Optional] **Key parameters**: - `webhook_id`: Webhook ID - `webhook_token`: Webhook secret token - `channel_id`: Channel for webhook creation - `name`: Webhook name - `content`/`embeds`: Message content for execution **Pitfalls**: - Webhook tokens are secrets; handle securely - Webhooks can post with custom username and avatar per message - MANAGE_WEBHOOKS permission required for creation ### 5. Manage Reactions **When to use**: User wants to view or manage message reactions **Tool sequence**: 1. `DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI` - List users who reacted [Optional] 2. `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS` - Remove all reactions [Optional] 3. `DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI` - Remove specific emoji reactions [Optional] 4. `DISCORDBOT_DELETE_USER_MESSAGE_REACTION` - Remove specific user's reaction [Optional] **Key parameters**: - `channel_id`: Channel ID - `message_id`: Message snowflake ID - `emoji_name`: URL-encoded emoji or `name:id` for custom emojis - `user_id`: User ID for specific reaction removal **Pitfalls**: - Unicode emojis must be URL-encoded (e.g., '%F0%9F%91%8D' for thumbs up) - Custom emojis use `name:id` format - DELETE_ALL requires MANAGE_MESSAGES permission ## Common Patterns ### Snowflake IDs Discord uses snowflake IDs (64-bit integers as strings) for all entities: - Guilds, channels, users, roles, messages, webhooks ### Permission Bitfields Permissions are combined using bitwise OR: - SEND_MESSAGES = 0x800 - MANAGE_ROLES = 0x10000000 - MANAGE_MESSAGES = 0x2000 - ADMINISTRATOR = 0x8 ### Pagination - Most list endpoints support `limit`, `before`, `after` parameters - Messages: max 100 per request - Reactions: max 100 per request, use `after` for pagination ## Known Pitfalls **Bot vs User Tokens**: - `discordbot` toolkit uses bot tokens; `discord` uses user OAuth - Bot operations are preferred for automation **Rate Limits**: - Discord enforces per-route rate limits - Respect `Retry-After` headers on 429 responses ## Quick 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 | ## When to Use This skill is applicable to execute the workflow or actions described in the overview.
Related Skills
linkedin-automation
Automate LinkedIn tasks via Rube MCP (Composio): create posts, manage profile, company info, comments, and image uploads. Always search tools first for current schemas.
instagram-automation
Automate Instagram tasks via Rube MCP (Composio): create posts, carousels, manage media, get insights, and publishing limits. Always search tools first for current schemas.
monday-automation
Automate Monday.com work management including boards, items, columns, groups, subitems, and updates via Rube MCP (Composio). Always search tools first for current schemas.
mixpanel-automation
Automate Mixpanel tasks via Rube MCP (Composio): events, segmentation, funnels, cohorts, user profiles, JQL queries. Always search tools first for current schemas.
miro-automation
Automate Miro tasks via Rube MCP (Composio): boards, items, sticky notes, frames, sharing, connectors. Always search tools first for current schemas.
microsoft-teams-automation
Automate Microsoft Teams tasks via Rube MCP (Composio): send messages, manage channels, create meetings, handle chats, and search messages. Always search tools first for current schemas.
make-automation
Automate Make (Integromat) tasks via Rube MCP (Composio): operations, enums, language and timezone lookups. Always search tools first for current schemas.
mailchimp-automation
Automate Mailchimp email marketing including campaigns, audiences, subscribers, segments, and analytics via Rube MCP (Composio). Always search tools first for current schemas.
linear-automation
Automate Linear tasks via Rube MCP (Composio): issues, projects, cycles, teams, labels. Always search tools first for current schemas.
klaviyo-automation
Automate Klaviyo tasks via Rube MCP (Composio): manage email/SMS campaigns, inspect campaign messages, track tags, and monitor send jobs. Always search tools first for current schemas.
jira-automation
Automate Jira tasks via Rube MCP (Composio): issues, projects, sprints, boards, comments, users. Always search tools first for current schemas.
intercom-automation
Automate Intercom tasks via Rube MCP (Composio): conversations, contacts, companies, segments, admins. Always search tools first for current schemas.