discord-automation
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseDiscord Automation via Rube MCP
通过Rube MCP实现Discord自动化
Automate Discord operations through Composio's Discord/Discordbot toolkits via Rube MCP.
通过Composio的Discord/Discordbot工具包,借助Rube MCP自动化Discord操作。
Prerequisites
前提条件
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Discord connection via with toolkits
RUBE_MANAGE_CONNECTIONSanddiscorddiscordbot - Always call first to get current tool schemas
RUBE_SEARCH_TOOLS
- 必须已连接Rube MCP(需具备RUBE_SEARCH_TOOLS权限)
- 通过激活Discord连接,需包含工具包
RUBE_MANAGE_CONNECTIONS和discorddiscordbot - 请始终先调用以获取最新的工具架构
RUBE_SEARCH_TOOLS
Setup
设置步骤
Get Rube MCP: Add as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
https://rube.app/mcp- Verify Rube MCP is available by confirming responds
RUBE_SEARCH_TOOLS - Call with toolkit
RUBE_MANAGE_CONNECTIONS(bot operations) ordiscordbot(user operations)discord - If connection is not ACTIVE, follow the returned auth link to complete Discord auth
- Confirm connection status shows ACTIVE before running any workflows
获取Rube MCP:在客户端配置中添加作为MCP服务器。无需API密钥 — 只需添加端点即可使用。
https://rube.app/mcp- 通过确认能正常响应,验证Rube MCP是否可用
RUBE_SEARCH_TOOLS - 调用,选择工具包
RUBE_MANAGE_CONNECTIONS(机器人操作)或discordbot(用户操作)discord - 如果连接状态未显示为ACTIVE,请按照返回的授权链接完成Discord授权
- 在运行任何工作流之前,确认连接状态为ACTIVE
Core Workflows
核心工作流
1. Send Messages
1. 发送消息
When to use: User wants to send messages to channels or DMs
Tool sequence:
- - List guilds the bot belongs to [Prerequisite]
DISCORD_LIST_MY_GUILDS - - List channels in a guild [Prerequisite]
DISCORDBOT_LIST_GUILD_CHANNELS - - Send a message [Required]
DISCORDBOT_CREATE_MESSAGE - - Edit a sent message [Optional]
DISCORDBOT_UPDATE_MESSAGE
Key parameters:
- : Channel snowflake ID
channel_id - : Message text (max 2000 characters)
content - : Array of embed objects for rich content
embeds - : Guild ID for channel listing
guild_id
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
适用场景:用户需要向频道或私信发送消息
工具序列:
- - 列出机器人所属的服务器 [前提步骤]
DISCORD_LIST_MY_GUILDS - - 列出服务器中的频道 [前提步骤]
DISCORDBOT_LIST_GUILD_CHANNELS - - 发送消息 [必需步骤]
DISCORDBOT_CREATE_MESSAGE - - 编辑已发送的消息 [可选步骤]
DISCORDBOT_UPDATE_MESSAGE
关键参数:
- : 频道雪花ID
channel_id - : 消息文本(最多2000字符)
content - : 富内容嵌入对象数组
embeds - : 用于频道列表的服务器ID
guild_id
注意事项:
- 机器人必须在目标频道拥有SEND_MESSAGES权限
- 高频发送消息可能触发路由级速率限制;请遵守Retry-After响应头
- 仅能编辑同一机器人发送的消息
2. Send Direct Messages
2. 发送私信
When to use: User wants to DM a Discord user
Tool sequence:
- - Create or get DM channel [Required]
DISCORDBOT_CREATE_DM - - Send message to DM channel [Required]
DISCORDBOT_CREATE_MESSAGE
Key parameters:
- : User snowflake ID for DM
recipient_id - : DM channel ID from CREATE_DM
channel_id
Pitfalls:
- Cannot DM users who have DMs disabled or have blocked the bot
- CREATE_DM returns existing channel if one already exists
适用场景:用户需要给Discord用户发送私信
工具序列:
- - 创建或获取私信频道 [必需步骤]
DISCORDBOT_CREATE_DM - - 向私信频道发送消息 [必需步骤]
DISCORDBOT_CREATE_MESSAGE
关键参数:
- : 接收私信的用户雪花ID
recipient_id - : 来自CREATE_DM的私信频道ID
channel_id
注意事项:
- 无法向已禁用私信或屏蔽机器人的用户发送私信
- 如果已存在私信频道,CREATE_DM将返回该现有频道
3. Manage Roles
3. 管理角色
When to use: User wants to create, assign, or remove roles
Tool sequence:
- - Create a new role [Optional]
DISCORDBOT_CREATE_GUILD_ROLE - - Assign role to member [Optional]
DISCORDBOT_ADD_GUILD_MEMBER_ROLE - - Delete a role [Optional]
DISCORDBOT_DELETE_GUILD_ROLE - - Get member details [Optional]
DISCORDBOT_GET_GUILD_MEMBER - - Update member (roles, nick, etc.) [Optional]
DISCORDBOT_UPDATE_GUILD_MEMBER
Key parameters:
- : Guild snowflake ID
guild_id - : User snowflake ID
user_id - : Role snowflake ID
role_id - : Role name
name - : Bitwise permission value
permissions - : RGB color integer
color
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
适用场景:用户需要创建、分配或删除角色
工具序列:
- - 创建新角色 [可选步骤]
DISCORDBOT_CREATE_GUILD_ROLE - - 为成员分配角色 [可选步骤]
DISCORDBOT_ADD_GUILD_MEMBER_ROLE - - 删除角色 [可选步骤]
DISCORDBOT_DELETE_GUILD_ROLE - - 获取成员详情 [可选步骤]
DISCORDBOT_GET_GUILD_MEMBER - - 更新成员信息(角色、昵称等) [可选步骤]
DISCORDBOT_UPDATE_GUILD_MEMBER
关键参数:
- : 服务器雪花ID
guild_id - : 用户雪花ID
user_id - : 角色雪花ID
role_id - : 角色名称
name - : 权限位的整数值
permissions - : RGB颜色的整数值
color
注意事项:
- 分配角色需要拥有MANAGE_ROLES权限
- 目标角色的层级必须低于机器人的最高角色
- 删除操作会永久移除所有成员的该角色
4. Manage Webhooks
4. 管理Webhook
When to use: User wants to create or use webhooks for external integrations
Tool sequence:
- /
DISCORDBOT_GET_GUILD_WEBHOOKS- List webhooks [Optional]DISCORDBOT_LIST_CHANNEL_WEBHOOKS - - Create a new webhook [Optional]
DISCORDBOT_CREATE_WEBHOOK - - Send message via webhook [Optional]
DISCORDBOT_EXECUTE_WEBHOOK - - Update webhook settings [Optional]
DISCORDBOT_UPDATE_WEBHOOK
Key parameters:
- : Webhook ID
webhook_id - : Webhook secret token
webhook_token - : Channel for webhook creation
channel_id - : Webhook name
name - /
content: Message content for executionembeds
Pitfalls:
- Webhook tokens are secrets; handle securely
- Webhooks can post with custom username and avatar per message
- MANAGE_WEBHOOKS permission required for creation
适用场景:用户需要创建或使用Webhook进行外部集成
工具序列:
- /
DISCORDBOT_GET_GUILD_WEBHOOKS- 列出Webhook [可选步骤]DISCORDBOT_LIST_CHANNEL_WEBHOOKS - - 创建新的Webhook [可选步骤]
DISCORDBOT_CREATE_WEBHOOK - - 通过Webhook发送消息 [可选步骤]
DISCORDBOT_EXECUTE_WEBHOOK - - 更新Webhook设置 [可选步骤]
DISCORDBOT_UPDATE_WEBHOOK
关键参数:
- : Webhook ID
webhook_id - : Webhook的密钥令牌
webhook_token - : 创建Webhook的频道ID
channel_id - : Webhook名称
name - /
content: 执行时的消息内容embeds
注意事项:
- Webhook令牌是敏感信息;请安全处理
- Webhook可在每条消息中使用自定义用户名和头像
- 创建Webhook需要拥有MANAGE_WEBHOOKS权限
5. Manage Reactions
5. 管理消息反应
When to use: User wants to view or manage message reactions
Tool sequence:
- - List users who reacted [Optional]
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI - - Remove all reactions [Optional]
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS - - Remove specific emoji reactions [Optional]
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI - - Remove specific user's reaction [Optional]
DISCORDBOT_DELETE_USER_MESSAGE_REACTION
Key parameters:
- : Channel ID
channel_id - : Message snowflake ID
message_id - : URL-encoded emoji or
emoji_namefor custom emojisname:id - : User ID for specific reaction removal
user_id
Pitfalls:
- Unicode emojis must be URL-encoded (e.g., '%F0%9F%91%8D' for thumbs up)
- Custom emojis use format
name:id - DELETE_ALL requires MANAGE_MESSAGES permission
适用场景:用户需要查看或管理消息的反应
工具序列:
- - 列出添加了某表情反应的用户 [可选步骤]
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI - - 移除所有反应 [可选步骤]
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS - - 移除特定表情的所有反应 [可选步骤]
DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI - - 移除特定用户的反应 [可选步骤]
DISCORDBOT_DELETE_USER_MESSAGE_REACTION
关键参数:
- : 频道ID
channel_id - : 消息雪花ID
message_id - : URL编码的表情符号,或自定义表情的
emoji_name格式name:id - : 要移除其反应的用户ID
user_id
注意事项:
- Unicode表情必须进行URL编码(例如,点赞表情'%F0%9F%91%8D')
- 自定义表情使用格式
name:id - 移除所有反应需要拥有MANAGE_MESSAGES权限
Common Patterns
通用模式
Snowflake IDs
雪花ID
Discord uses snowflake IDs (64-bit integers as strings) for all entities:
- Guilds, channels, users, roles, messages, webhooks
Discord为所有实体使用雪花ID(以字符串形式表示的64位整数):
- 服务器、频道、用户、角色、消息、Webhook
Permission Bitfields
权限位字段
Permissions are combined using bitwise OR:
- SEND_MESSAGES = 0x800
- MANAGE_ROLES = 0x10000000
- MANAGE_MESSAGES = 0x2000
- ADMINISTRATOR = 0x8
权限通过按位或运算组合:
- SEND_MESSAGES = 0x800
- MANAGE_ROLES = 0x10000000
- MANAGE_MESSAGES = 0x2000
- ADMINISTRATOR = 0x8
Pagination
分页
- Most list endpoints support ,
limit,beforeparametersafter - Messages: max 100 per request
- Reactions: max 100 per request, use for pagination
after
- 大多数列表端点支持、
limit、before参数after - 消息:每次请求最多100条
- 反应:每次请求最多100条,使用参数进行分页
after
Known Pitfalls
已知注意事项
Bot vs User Tokens:
- toolkit uses bot tokens;
discordbotuses user OAuthdiscord - Bot operations are preferred for automation
Rate Limits:
- Discord enforces per-route rate limits
- Respect headers on 429 responses
Retry-After
机器人令牌 vs 用户令牌:
- 工具包使用机器人令牌;
discordbot工具包使用用户OAuth令牌discord - 自动化操作优先使用机器人令牌
速率限制:
- Discord对每个路由实施速率限制
- 收到429响应时,请遵守响应头
Retry-After
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 |
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出服务器 | DISCORD_LIST_MY_GUILDS | 无 |
| 列出频道 | DISCORDBOT_LIST_GUILD_CHANNELS | guild_id |
| 发送消息 | DISCORDBOT_CREATE_MESSAGE | channel_id, content |
| 编辑消息 | DISCORDBOT_UPDATE_MESSAGE | channel_id, message_id |
| 获取消息 | DISCORDBOT_LIST_MESSAGES | channel_id, limit |
| 创建私信 | DISCORDBOT_CREATE_DM | recipient_id |
| 创建角色 | DISCORDBOT_CREATE_GUILD_ROLE | guild_id, name |
| 分配角色 | DISCORDBOT_ADD_GUILD_MEMBER_ROLE | guild_id, user_id, role_id |
| 删除角色 | DISCORDBOT_DELETE_GUILD_ROLE | guild_id, role_id |
| 获取成员信息 | DISCORDBOT_GET_GUILD_MEMBER | guild_id, user_id |
| 更新成员信息 | DISCORDBOT_UPDATE_GUILD_MEMBER | guild_id, user_id |
| 获取服务器信息 | DISCORDBOT_GET_GUILD | guild_id |
| 创建Webhook | DISCORDBOT_CREATE_WEBHOOK | channel_id, name |
| 执行Webhook | DISCORDBOT_EXECUTE_WEBHOOK | webhook_id, webhook_token |
| 列出Webhook | DISCORDBOT_GET_GUILD_WEBHOOKS | guild_id |
| 获取反应列表 | DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI | channel_id, message_id, emoji_name |
| 清除所有反应 | DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS | channel_id, message_id |
| 测试授权 | DISCORDBOT_TEST_AUTH | 无 |
| 获取频道信息 | DISCORDBOT_GET_CHANNEL | channel_id |