← 返回 Skills 市场
muselinn

Discord Interactive

作者 Linn · GitHub ↗ · v1.1.1 · MIT-0
cross-platform ✓ 安全检测通过
347
总下载
1
收藏
2
当前安装
3
版本数
在 OpenClaw 中安装
/install discord-interactive
功能描述
Send Discord Components v2 interactive messages (buttons, selects, modals, rich layouts) via the message tool.
使用说明 (SKILL.md)

Discord Interactive Components (Components v2)

Send rich, interactive messages in Discord using the message tool's components parameter. This replaces plain text with buttons, select menus, modals, and structured layouts.

When to Use Components v2

ALWAYS prefer components over plain text when:

  • You need user confirmation → buttons (Yes/No, Approve/Reject)
  • You need user selection → select menus (agents, priorities, options)
  • You want structured information display → text blocks + sections + separators
  • You want to collect form data → modals with text inputs, selects, checkboxes
  • You want visual distinction → accent-colored containers

Use plain text when:

  • Simple conversational response, no actions needed
  • Quick one-liner answer

Quick Reference

The components parameter is an object with this structure:

{
  // Top-level fields
  text: "Optional top-level text (rendered as first TextDisplay)",
  reusable: true,  // Keep buttons/selects active for multiple clicks (default: single-use)
  container: {
    accentColor: "#3498db",  // Left border color (hex string or number)
    spoiler: false
  },
  // Content blocks (rendered in order inside the container)
  blocks: [
    { type: "text", text: "Markdown text block" },
    { type: "section", text: "Main text", accessory: { type: "thumbnail", url: "https://..." } },
    { type: "separator", spacing: "small", divider: true },
    { type: "actions", buttons: [{ label: "Click me", style: "success" }] },
    { type: "actions", select: { type: "string", placeholder: "Choose...", options: [...] } },
    { type: "media-gallery", items: [{ url: "https://...", description: "..." }] },
    { type: "file", file: "attachment://report.pdf" }
  ],
  // Optional modal form (auto-generates a trigger button)
  modal: {
    title: "Form Title",
    triggerLabel: "Open Form",
    fields: [{ type: "text", label: "Your name" }]
  }
}

Quick Start — Confirmation

// message tool call
{
  action: "send",
  channel: "discord",
  target: "channel:CHANNEL_ID",
  components: {
    text: "**Confirm action?**",
    reusable: false,
    container: { accentColor: "#3498db" },
    blocks: [
      {
        type: "actions",
        buttons: [
          { label: "Yes", style: "success" },
          { label: "No", style: "secondary" }
        ]
      }
    ]
  }
}

No custom_id needed — OpenClaw generates unique IDs automatically. When the user clicks, you receive a message like Clicked "Yes".

Key Differences from Raw Discord API

What you might expect What OpenClaw actually uses
type: "container" wrapper container: { accentColor: "..." } config object
type: "text_display" type: "text" in blocks
type: "action_row" with nested components type: "actions" with buttons or select
Manual custom_id on buttons Auto-generated — just set label and style
accent_color: 0x3498db accentColor: "#3498db" (hex string preferred)
type: "string_select" select: { type: "string", ... } inside actions block

Block Types Summary

Block Type Purpose See
text Markdown text components.md
section Text + optional thumbnail/button components.md
separator Divider line components.md
actions Buttons or select menu components.md
media-gallery Image gallery components.md
file File attachment components.md

Handling Interactions

When a user clicks a button or selects an option, OpenClaw delivers it as a normal inbound message:

  • Button click → Clicked "Yes".
  • Select → Selected option_a from "Pick an option".

No special callback handling needed — just read the incoming message text. See handling.md for patterns.

Important Rules

  • No custom_id — OpenClaw auto-generates unique IDs for all interactive elements
  • No embeds — Components v2 and embeds cannot coexist in the same message
  • reusable: true — Set this to allow buttons/selects to be clicked multiple times
  • allowedUsers — Optionally restrict who can click a button (array of Discord user IDs)
  • Actions block — Must have EITHER buttons OR select, never both
  • Max 5 buttons per actions block, max 1 select per actions block

Examples

See references/examples.md for complete scenarios:

  • Yes/No confirmation
  • Agent/option selection
  • Status card with actions
  • Modal form collection
  • Multi-step workflow
安全使用建议
This skill is coherent and focuses only on building and handling Discord interactive messages. Before installing: (1) confirm you trust agents that will use this skill because examples show workflows where a button click leads the agent to perform actions (including destructive ones); enforce safeguards/confirmation for destructive operations, (2) restrict interactive buttons using allowedUsers where appropriate, (3) treat modal-submitted form data as potentially sensitive and validate/sanitize it before using, and (4) test these components in a non-production channel to verify behavior and avoid accidental actions.
功能分析
Type: OpenClaw Skill Name: discord-interactive Version: 1.1.1 The discord-interactive skill bundle is a documentation-only package providing instructions and examples for using Discord interactive components (buttons, selects, modals) via the message tool. It contains no executable code, scripts, or data exfiltration logic. The instructions in SKILL.md and the reference files (components.md, examples.md, handling.md) are strictly focused on enhancing the agent's UI/UX capabilities within Discord and do not contain any malicious prompt injections or unauthorized access attempts.
能力评估
Purpose & Capability
Name/description (Discord interactive components) match the SKILL.md and reference files. There are no unrelated environment variables, binaries, or install steps requested that would be disproportionate to sending interactive Discord messages.
Instruction Scope
The instructions are scoped to constructing component payloads, sending/editing messages via the message tool, and handling the resulting inbound interaction text. There are no instructions to read arbitrary system files, environment variables, or to transmit data to unexpected endpoints. Note: examples show using components to confirm destructive actions (e.g., deleting files) — that is a valid usage pattern but requires cautious agent policies.
Install Mechanism
No install spec and no code files — instruction-only skill. This minimizes write-to-disk and supply-chain risk.
Credentials
Skill declares no required environment variables, credentials, or config paths. The examples reference Discord IDs, URLs, and attachment:// filenames only, which are appropriate for the stated functionality.
Persistence & Privilege
Skill does not request always:true or other elevated persistence. It is user-invocable and allows normal autonomous invocation (platform default); nothing here indicates it would modify other skills or system-wide settings.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install discord-interactive
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /discord-interactive 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.1.1
**Major update: Improved structure and expanded support for Discord interactive messages.** - Added versioning and clearer metadata in SKILL.md. - Overhauled documentation to clarify new v2 components syntax (blocks, containers, modal forms). - Components now support modals, structured layouts, rich status cards, and file/media attachments. - Custom IDs are now auto-generated, simplifying button/select creation. - Expanded usage examples and best practices for confirmation, selection, and data collection. - Updated interaction handling: clicks and selections now delivered as plain text messages.
v1.1.0
Refactored with skill-creator best practices: progressive disclosure, separated references, added comprehensive examples
v1.0.0
Initial release: Interactive buttons and select menus for Discord
元数据
Slug discord-interactive
版本 1.1.1
许可证 MIT-0
累计安装 2
当前安装数 2
历史版本数 3
常见问题

Discord Interactive 是什么?

Send Discord Components v2 interactive messages (buttons, selects, modals, rich layouts) via the message tool. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 347 次。

如何安装 Discord Interactive?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install discord-interactive」即可一键安装,无需额外配置。

Discord Interactive 是免费的吗?

是的,Discord Interactive 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Discord Interactive 支持哪些平台?

Discord Interactive 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Discord Interactive?

由 Linn(@muselinn)开发并维护,当前版本 v1.1.1。

💬 留言讨论