PluginBench
Skill
Review
Audit score 70

discord

steipete/clawdis

Send, read, edit, delete, react, poll, pin, and search Discord messages with components and media support.

What is discord?

Discord message operations skill for the message tool. Use it to send and manage messages, create polls and threads, search conversations, set presence, and add reactions—all via the unified message channel interface.

  • Send messages with optional media attachments and rich components
  • Read message history with configurable limits
  • Edit and delete messages by ID
  • React to messages with emoji
  • Create polls with multiple options and duration
  • Pin messages to channels

How to install discord

npx skills add https://github.com/steipete/clawdis --skill discord
Prerequisites
  • Discord bot token configured in channels.discord.token
  • Bot must have appropriate permissions in target guild/channel
  • Action gates must be configured in channels.discord.actions.*
Claude Code
Cursor
Windsurf
Cline

How to use discord

  1. 1.Install the skill via npx skills add
  2. 2.Configure your Discord bot token in channels.discord.token
  3. 3.Use the message tool with channel: "discord"
  4. 4.Specify target as to: "channel:<id>" or to: "user:<id>"
  5. 5.Choose action (send, read, edit, delete, react, poll, pin, thread-create, search, set-presence)
  6. 6.Pass required parameters like channelId, messageId, or query as needed
  7. 7.For rich UI, use components v2 instead of legacy embeds

Use cases

Good for
  • Automate notifications and alerts to Discord channels
  • Build interactive polls and surveys with voting options
  • Create discussion threads for organizing conversations
  • Search historical messages to retrieve information
  • Send formatted reports or data with attachments
Who it's for
  • Discord bot developers
  • Team automation engineers
  • Community managers
  • DevOps teams using Discord for notifications

discord FAQ

Do I need a separate Discord tool?

No. Use the message tool with channel: "discord". All Discord operations go through the message tool.

How do I send a message with an attachment?

Use action: "send" with media: "file:///path/to/file" in addition to your message text.

How do I mention a user in a Discord message?

Use the format <@USER_ID> in your message text.

What's the difference between components v2 and embeds?

Components v2 provides richer, modern UI. Do not mix v2 components with legacy embeds in the same message.

Can I use this skill with multiple Discord accounts?

Yes. Pass accountId when needed for multi-account scenarios.

Full instructions (SKILL.md)

Source of truth, from steipete/clawdis.


name: discord description: "Discord message-tool ops: send/read/edit/delete, react, poll, pin, thread, search, presence, media/components." metadata: { "openclaw": { "emoji": "🎮", "requires": { "config": ["channels.discord.token"] } } } allowed-tools: ["message"]

Discord

Use the message tool with channel: "discord". No separate Discord tool.

Rules

  • Respect channels.discord.actions.* gates.
  • Prefer explicit guildId, channelId, messageId, userId.
  • Multi-account: pass accountId when needed.
  • Send targets: to: "channel:<id>" or to: "user:<id>".
  • Mention users as <@USER_ID>.
  • Avoid Markdown tables in outbound Discord messages.
  • Prefer components v2 for rich UI; do not mix v2 components with legacy embeds.

Common actions

Send:

{ "action": "send", "channel": "discord", "to": "channel:123", "message": "hello", "silent": true }

Send media:

{
  "action": "send",
  "channel": "discord",
  "to": "channel:123",
  "message": "see attachment",
  "media": "file:///tmp/example.png"
}

Components v2:

{
  "action": "send",
  "channel": "discord",
  "to": "channel:123",
  "message": "Status",
  "components": "[Carbon v2 components]"
}

React:

{ "action": "react", "channel": "discord", "channelId": "123", "messageId": "456", "emoji": "👍" }

Read:

{ "action": "read", "channel": "discord", "to": "channel:123", "limit": 20 }

Edit/delete:

{
  "action": "edit",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456",
  "message": "fixed typo"
}
{ "action": "delete", "channel": "discord", "channelId": "123", "messageId": "456" }

Poll:

{
  "action": "poll",
  "channel": "discord",
  "to": "channel:123",
  "pollQuestion": "Lunch?",
  "pollOption": ["Pizza", "Sushi"],
  "pollDurationHours": 24
}

Pin:

{ "action": "pin", "channel": "discord", "channelId": "123", "messageId": "456" }

Thread:

{
  "action": "thread-create",
  "channel": "discord",
  "channelId": "123",
  "messageId": "456",
  "threadName": "bug triage"
}

Search:

{
  "action": "search",
  "channel": "discord",
  "guildId": "999",
  "query": "release notes",
  "channelIds": ["123"],
  "limit": 10
}

Presence, often gated:

{
  "action": "set-presence",
  "channel": "discord",
  "activityType": "playing",
  "activityName": "OpenClaw",
  "status": "online"
}