SuperAPI AI 工具集

discord-automation

办公与效率

查看项目

更新于 10-15 07:56

技能介绍

用途

该技能用于通过 Rube MCP 调用 Composio 的 Discord/Discordbot 工具包,自动化执行 Discord 上的常见操作,例如消息收发、私信、角色管理、Webhook 管理与表情回应管理。

前置条件

  • 必须已连接 Rube MCP(RUBE_SEARCH_TOOLS 可用)。
  • 需通过 RUBE_MANAGE_CONNECTIONS 建立有效的 Discord 连接,工具包为 discord 与 discordbot。
  • 每次操作前应先调用 RUBE_SEARCH_TOOLS 获取当前工具 schema。

安装与配置

  1. 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,添加端点即可使用。
  2. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
  3. 调用 RUBE_MANAGE_CONNECTIONS,工具包选择 discordbot(机器人操作)或 discord(用户操作)。
  4. 若连接状态不是 ACTIVE,按返回的授权链接完成 Discord 授权。
  5. 确认连接状态为 ACTIVE 后再运行任何工作流。

主要能力与使用方式

1. 发送消息

适用场景:向频道或私信发送消息。

工具顺序:

  • DISCORD_LIST_MY_GUILDS:列出机器人所属服务器(前置)。
  • DISCORDBOT_LIST_GUILD_CHANNELS:列出服务器中的频道(前置)。
  • DISCORDBOT_CREATE_MESSAGE:发送消息(必需)。
  • DISCORDBOT_UPDATE_MESSAGE:编辑已发送消息(可选)。

关键参数:channel_id(频道 snowflake ID)、content(消息文本,最多 2000 字符)、embeds(富内容嵌入对象数组)、guild_id(用于列出频道的服务器 ID)。

注意事项:机器人需在频道拥有 SEND_MESSAGES 权限;高频发送可能触发按路由的速率限制,需遵守 Retry-After 响应头;只有同一机器人发送的消息才能被编辑。

2. 发送私信

适用场景:向 Discord 用户发送私信。

工具顺序:

  • DISCORDBOT_CREATE_DM:创建或获取私信频道(必需)。
  • DISCORDBOT_CREATE_MESSAGE:向私信频道发送消息(必需)。

关键参数:recipient_id(私信接收者的用户 snowflake ID)、channel_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(服务器 snowflake ID)、user_id(用户 snowflake ID)、role_id(角色 snowflake ID)、name(角色名称)、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_token(Webhook 密钥令牌)、channel_id(创建 Webhook 的频道)、name(Webhook 名称)、content/embeds(执行时的消息内容)。

注意事项: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、message_id(消息 snowflake ID)、emoji_name(URL 编码的表情或自定义表情的 name:id 格式)、user_id(用于移除指定用户的回应)。

注意事项:Unicode 表情必须进行 URL 编码(例如点赞为 '%F0%9F%91%8D');自定义表情使用 name:id 格式;DELETE_ALL 需要 MANAGE_MESSAGES 权限。

常见模式

Snowflake ID:Discord 对所有实体使用 snowflake ID(以字符串表示的 64 位整数),包括服务器、频道、用户、角色、消息、Webhook。

权限位字段:权限通过按位 OR 组合,例如 SEND_MESSAGES = 0x800、MANAGE_ROLES = 0x10000000、MANAGE_MESSAGES = 0x2000、ADMINISTRATOR = 0x8。

分页:多数列表端点支持 limit、before、after 参数;消息每次最多 100 条;表情回应每次最多 100 条,使用 after 进行分页。

已知注意事项

机器人令牌与用户令牌:discordbot 工具包使用机器人令牌;discord 使用用户 OAuth。自动化场景优先使用机器人操作。

速率限制:Discord 实施按路由的速率限制;遇到 429 响应时遵守 Retry-After 响应头。

快速参考

任务 工具 Slug 关键参数
列出服务器 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

适用场景与限制

适用场景:需要在 Discord 中自动化消息发送、私信、角色管理、Webhook 集成与表情回应管理的任务,尤其是通过 MCP 客户端以机器人身份批量操作服务器与频道的场景。

限制:依赖 Rube MCP 与有效的 Discord 连接;受 Discord 权限体系与速率限制约束;部分操作(如编辑消息、删除角色)有额外限制;具体收费、价格与平台支持情况暂未提供。