mcpField
D
discord-automation

discord-automation

github.com/sickn33其他48.7k91 次安装1 天前更新
代码仓库

关于 discord-automation

此工作流技能通过 Rube MCP 上的 Composio 工具包自动处理 Discord 消息、角色、Webhook 和表情回应。它指导 Agent 检查连接、查询工具定义并按权限执行操作。

主要功能

  1. 01发送和编辑频道消息
  2. 02创建并发送私信
  3. 03创建和管理服务器角色
  4. 04创建并调用 Webhook
  5. 05查看和移除表情回应

适用场景

  1. 01发布或修改 Discord 频道消息
  2. 02向 Discord 用户发送私信
  3. 03为服务器成员分配或移除角色
  4. 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 服务。必须根据宿主环境连接并验证该端点;每项服务连接仍需使用各自获授权的账户和权限范围。

  1. 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用
  2. 调用 RUBE_MANAGE_CONNECTIONS,并指定工具包 discordbot(机器人操作)或 discord(用户操作)
  3. 如果连接状态不是 ACTIVE,请按照返回的授权链接完成 Discord 身份验证
  4. 运行任何工作流前,确认连接状态显示为 ACTIVE

核心工作流

1. 发送消息

适用场景:用户想要向频道或私信发送消息

工具调用顺序:

  1. DISCORD_LIST_MY_GUILDS - 列出机器人所属的服务器 [前提条件]
  2. DISCORDBOT_LIST_GUILD_CHANNELS - 列出服务器中的频道 [前提条件]
  3. DISCORDBOT_CREATE_MESSAGE - 发送消息 [必需]
  4. DISCORDBOT_UPDATE_MESSAGE - 编辑已发送的消息 [可选]

关键参数:

  • channel_id:频道雪花 ID
  • content:消息文本(最多 2000 个字符)
  • embeds:用于富内容的嵌入对象数组
  • guild_id:用于列出频道的服务器 ID

注意事项:

  • 机器人必须拥有该频道中的 SEND_MESSAGES 权限
  • 高频发送可能触发每路由速率限制;请遵守 Retry-After 标头
  • 只能编辑同一机器人发送的消息
2. 发送私信

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

工具调用顺序:

  1. DISCORDBOT_CREATE_DM - 创建或获取私信频道 [必需]
  2. DISCORDBOT_CREATE_MESSAGE - 向私信频道发送消息 [必需]

关键参数:

  • recipient_id:用于私信的用户雪花 ID
  • channel_id:来自 CREATE_DM 的私信频道 ID

注意事项:

  • 无法向禁用了私信或已屏蔽机器人的用户发送私信
  • 如果私信频道已存在,CREATE_DM 会返回该频道
3. 管理身份组

适用场景:用户想要创建、分配或移除身份组

工具调用顺序:

  1. DISCORDBOT_CREATE_GUILD_ROLE - 创建新身份组 [可选]
  2. DISCORDBOT_ADD_GUILD_MEMBER_ROLE - 为成员分配身份组 [可选]
  3. DISCORDBOT_DELETE_GUILD_ROLE - 删除身份组 [可选]
  4. DISCORDBOT_GET_GUILD_MEMBER - 获取成员详情 [可选]
  5. DISCORDBOT_UPDATE_GUILD_MEMBER - 更新成员信息(身份组、昵称等)[可选]

关键参数:

  • guild_id:服务器雪花 ID
  • user_id:用户雪花 ID
  • role_id:身份组雪花 ID
  • name:身份组名称
  • permissions:按位表示的权限值
  • color:RGB 颜色整数值

注意事项:

  • 分配身份组需要 MANAGE_ROLES 权限
  • 目标身份组在层级中必须低于机器人的最高身份组
  • DELETE 会从所有成员中永久移除该身份组
4. 管理 Webhook

适用场景:用户想要创建或使用 Webhook 进行外部集成

工具调用顺序:

  1. DISCORDBOT_GET_GUILD_WEBHOOKS / DISCORDBOT_LIST_CHANNEL_WEBHOOKS - 列出 Webhook [可选]
  2. DISCORDBOT_CREATE_WEBHOOK - 创建新的 Webhook [可选]
  3. DISCORDBOT_EXECUTE_WEBHOOK - 通过 Webhook 发送消息 [可选]
  4. DISCORDBOT_UPDATE_WEBHOOK - 更新 Webhook 设置 [可选]

关键参数:

  • webhook_id:Webhook ID
  • webhook_token:Webhook 密钥令牌
  • channel_id:用于创建 Webhook 的频道
  • name:Webhook 名称
  • content/embeds:执行时的消息内容

注意事项:

  • Webhook 令牌属于机密信息;请妥善保管
  • Webhook 可以为每条消息设置自定义用户名和头像
  • 创建 Webhook 需要 MANAGE_WEBHOOKS 权限
5. 管理回应

适用场景:用户想查看或管理消息回应

工具调用顺序:

  1. DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJI - 列出作出回应的用户[可选]
  2. DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS - 移除所有回应[可选]
  3. DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONS_BY_EMOJI - 移除指定表情符号的回应[可选]
  4. DISCORDBOT_DELETE_USER_MESSAGE_REACTION - 移除指定用户的回应[可选]

关键参数:

  • channel_id:频道 ID
  • message_id:消息 snowflake ID
  • emoji_name:经过 URL 编码的表情符号,或自定义表情符号的 name:id
  • user_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_CHANNELSguild_id
发送消息DISCORDBOT_CREATE_MESSAGEchannel_id, content
编辑消息DISCORDBOT_UPDATE_MESSAGEchannel_id, message_id
获取消息DISCORDBOT_LIST_MESSAGESchannel_id, limit
创建私信DISCORDBOT_CREATE_DMrecipient_id
创建身份组DISCORDBOT_CREATE_GUILD_ROLEguild_id, name
分配身份组DISCORDBOT_ADD_GUILD_MEMBER_ROLEguild_id, user_id, role_id
删除身份组DISCORDBOT_DELETE_GUILD_ROLEguild_id, role_id
获取成员DISCORDBOT_GET_GUILD_MEMBERguild_id, user_id
更新成员DISCORDBOT_UPDATE_GUILD_MEMBERguild_id, user_id
获取服务器DISCORDBOT_GET_GUILDguild_id
创建 webhookDISCORDBOT_CREATE_WEBHOOKchannel_id, name
执行 webhookDISCORDBOT_EXECUTE_WEBHOOKwebhook_id, webhook_token
列出 webhookDISCORDBOT_GET_GUILD_WEBHOOKSguild_id
获取回应DISCORDBOT_LIST_MESSAGE_REACTIONS_BY_EMOJIchannel_id, message_id, emoji_name
清除回应DISCORDBOT_DELETE_ALL_MESSAGE_REACTIONSchannel_id, message_id
测试身份验证DISCORDBOT_TEST_AUTH(无)
获取频道DISCORDBOT_GET_CHANNELchannel_id

适用场景

当需要执行概览中所述的工作流或操作时,可使用此技能。

示例

用户请求:

通过 Rube MCP(Composio)自动执行 Discord 任务:消息、频道、身份组、webhook、回应。

限制

  • 仅当任务明确符合上述范围时,才使用此技能。
  • 不要将输出视为环境特定验证、测试或专家审查的替代品。
  • 如果缺少必要输入、权限、安全边界或成功标准,请暂停并请求澄清。

发送消息、私信或 webhook 帖子前,先确认目标服务器、频道或接收者以及内容;只有在用户授权通信后才能发送。更改身份组需要经过批准的权限范围:切勿为了方便而授予 ADMINISTRATOR。使用可用的允许提及控制来避免意外提及。对 webhook 令牌保密;如果发送结果未知,请先检查状态再重试。

评论

支持 Markdown