All skills

discord

Official
by Api.AirforcePrepends a system promptFrontend Development000 uses376,200

Discord message-tool ops: send/read/edit/delete, react, poll, pin, thread, search, presence, media/components.

open-sourceclaude-codefrontend-developmentsteipete
Share

What this skill does

When applied, it prepends a system prompt before your request is sent — no extra calls and no change to how you are billed beyond the added tokens.

---
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:

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

Send media:

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

Components v2:

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

React:

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

Read:

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

Edit/delete:

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

```json
{ "action": "delete", "channel": "discord", "channelId": "123", "messageId": "456" }
```

Poll:

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

Pin:

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

Thread:

```json
{
  "action

Use this skill

Per request

Add a "skill" field with the skill’s ID to your chat completion request. It is applied server-side before your prompt is sent — no extra calls.

{
  "model": "gpt-4o-mini",
  "skill": "imp-45d91883-9db7-4b0d-bb8f-1fcae8f6e95a",
  "messages": [{ "role": "user", "content": "…" }]
}
Always on — no field to send

Install the skill, enable it in your dashboard and (optionally) limit it to specific models. It then applies automatically to every matching request — with no "skill" field to send each time.

Set it up in your dashboard