关于 discord-automation
此工作流技能通过 Rube MCP 上的 Composio 工具包自动处理 Discord 消息、角色、Webhook 和表情回应。它指导 Agent 检查连接、查询工具定义并按权限执行操作。
主要功能
- 01发送和编辑频道消息
- 02创建并发送私信
- 03创建和管理服务器角色
- 04创建并调用 Webhook
- 05查看和移除表情回应
适用场景
- 01发布或修改 Discord 频道消息
- 02向 Discord 用户发送私信
- 03为服务器成员分配或移除角色
- 04通过 Webhook 发布消息
MCP 相关
通过 Rube MCP 使用 Composio 的 Discord 和 Discordbot 工具包。技能要求客户端先查询当前工具定义,并在操作前建立已授权且处于活动状态的 Discord 连接。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill discord-automation安装后在 Claude Code 中输入/discord-automation确认已加载。
详细介绍
通过 Rube MCP 自动化 Discord
通过 Rube MCP 使用 Composio 的 Discord/Discordbot 工具包自动化 Discord 操作。
前提条件
- 必须连接 Rube MCP(可使用 RUBE_SEARCH_TOOLS)
- 通过
RUBE_MANAGE_CONNECTIONS建立有效的 Discord 连接,并启用工具包discord和discordbot - 始终先调用
RUBE_SEARCH_TOOLS,以获取当前工具架构
设置
获取 Rube MCP:在客户端配置中将 https://rube.app/mcp 添加为 MCP 服务。必须根据宿主环境连接并验证该端点;每项服务连接仍需使用各自获授权的账户和权限范围。
- 确认
RUBE_SEARCH_TOOLS有响应,以验证 Rube MCP 可用 - 调用
RUBE_MANAGE_CONNECTIONS,并指定工具包discordbot(机器人操作)或discord(用户操作) - 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Discord 身份验证
- 运行任何工作流前,确认连接状态显示为 ACTIVE
核心工作流
1. 发送消息
适用场景:用户想要向频道或私信发送消息
工具调用顺序:
DISCORD_LIST_MY_GUILDS- 列出机器人所属的服务器 [前提条件]DISCORDBOT_LIST_GUILD_CHANNELS- 列出服务器中的频道 [前提条件]DISCORDBOT_CREATE_MESSAGE- 发送消息 [必需]DISCORDBOT_UPDATE_MESSAGE- 编辑已发送的消息 [可选]
关键参数:
channel_id:频道雪花 IDcontent:消息文本(最多 2000 个字符)embeds:用于富内容的嵌入对象数组guild_id:用于列出频道的服务器 ID
注意事项:
- 机器人必须拥有该频道中的 SEND_MESSAGES 权限
- 高频发送可能触发每路由速率限制;请遵守 Retry-After 标头
- 只能编辑同一机器人发送的消息
2. 发送私信
适用场景:用户想要向 Discord 用户发送私信
工具调用顺序:
DISCORDBOT_CREATE_DM- 创建或获取私信频道 [必需]DISCORDBOT_CREATE_MESSAGE- 向私信频道发送消息 [必需]
关键参数:
recipient_id:用于私信的用户雪花 IDchannel_id:来自 CREATE_DM 的私信频道 ID
注意事项:
- 无法向禁用了私信或已屏蔽机器人的用户发送私信
- 如果私信频道已存在,CREATE_DM 会返回该频道
3. 管理身份组
适用场景:用户想要创建、分配或移除身份组
工具调用顺序:
DISCORDBOT_CREATE_GUILD_ROLE- 创建新身份组 [可选]DISCORDBOT_ADD_GUILD_MEMBER_ROLE- 为成员分配身份组 [可选]DISCORDBOT_DELETE_GUILD_ROLE- 删除身份组 [可选]DISCORDBOT_GET_GUILD_MEMBER- 获取成员详情 [可选]DISCORDBOT_UPDATE_GUILD_MEMBER- 更新成员信息(身份组、昵称等)[可选]
关键参数:
guild_id:服务器雪花 IDuser_id:用户雪花 IDrole_id:身份组雪花 IDname:身份组名称permissions:按位表示的权限值color:RGB 颜色整数值
注意事项:
- 分配身份组需要 MANAGE_ROLES 权限
- 目标身份组在层级中必须低于机器人的最高身份组
- DELETE 会从所有成员中永久移除该身份组
4. 管理 Webhook
适用场景:用户想要创建或使用 Webhook 进行外部集成
工具调用顺序:
DISCORDBOT_GET_GUILD_WEBHOOKS/DISCORDBOT_LIST_CHANNEL_WEBHOOKS- 列出 Webhook [可选]DISCORDBOT_CREATE_WEBHOOK- 创建新的 Webhook [可选]DISCORDBOT_EXECUTE_WEBHOOK- 通过 Webhook 发送消息 [可选]DISCORDBOT_UPDATE_WEBHOOK- 更新 Webhook 设置 [可选]
关键参数:
webhook_id:Webhook IDwebhook_token:Webhook 密钥令牌channel_id:用于创建 Webhook 的频道name:Webhook 名称content/embeds:执行时的消息内容
注意事项:
- Webhook 令牌属于机密信息;请妥善保管
- Webhook 可以为每条消息设置自定义用户名和头像
- 创建 Webhook 需要 MANAGE_WEBHOOKS 权限
5. 管理回应
适用场景:用户想查看或管理消息回应
工具调用顺序:
DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI- 列出作出回应的用户[可选]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS- 移除所有回应[可选]DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI- 移除指定表情符号的回应[可选]DISCORDBOT_DELETE_USER_MESSAGE_REACTION- 移除指定用户的回应[可选]
关键参数:
channel_id:频道 IDmessage_id:消息 snowflake IDemoji_name:经过 URL 编码的表情符号,或自定义表情符号的name:iduser_id:要移除特定回应时使用的用户 ID
注意事项:
- Unicode 表情符号必须经过 URL 编码(例如,点赞表情使用 '%F0%9F%91%8D')
- 自定义表情符号采用
name:id格式 - DELETE_ALL 需要 MANAGE_MESSAGES 权限
常见模式
Snowflake ID
Discord 使用 snowflake ID(以字符串表示的 64 位整数)标识所有实体:
- 服务器、频道、用户、身份组、消息、webhook
权限位字段
权限使用按位或组合:
- SEND_MESSAGES = 0x800
- MANAGE_ROLES = 0x10000000
- MANAGE_MESSAGES = 0x2000
- ADMINISTRATOR = 0x8
分页
- 大多数列表端点支持
limit、before、after参数 - 消息:每次请求最多 100 条
- 回应:每次请求最多 100 条,使用
after进行分页
已知注意事项
机器人令牌与用户令牌:
discordbot工具包使用机器人令牌;discord使用用户 OAuth- 自动化任务优先使用机器人操作
速率限制:
- Discord 对每个路由实施速率限制
- 收到 429 响应时,请遵循
Retry-After标头
快速参考
| 任务 | 工具标识 | 关键参数 |
|---|---|---|
| 列出服务器 | 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 |
适用场景
当需要执行概览中所述的工作流或操作时,可使用此技能。
示例
用户请求:
通过 Rube MCP(Composio)自动执行 Discord 任务:消息、频道、身份组、webhook、回应。
限制
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为环境特定验证、测试或专家审查的替代品。
- 如果缺少必要输入、权限、安全边界或成功标准,请暂停并请求澄清。
发送消息、私信或 webhook 帖子前,先确认目标服务器、频道或接收者以及内容;只有在用户授权通信后才能发送。更改身份组需要经过批准的权限范围:切勿为了方便而授予 ADMINISTRATOR。使用可用的允许提及控制来避免意外提及。对 webhook 令牌保密;如果发送结果未知,请先检查状态再重试。