home / skills / openclaw / skills / discord-chat

discord-chat skill

/skills/bowenqt/discord-chat

This skill helps you interact with Discord channels by sending, replying, or searching messages to streamline communication.

npx playbooks add skill openclaw/skills --skill discord-chat

Review the files below or copy the command above to add this skill to your agents.

Files (5)
SKILL.md
3.1 KB
---
name: discord-chat
description: Send messages, reply to messages, and search message history in Discord channels using the message tool. Use when the user wants to communicate with Discord (send/reply/search messages), check Discord activity, or interact with Discord channels.
---

# Discord Chat

Interact with Discord channels using Clawdbot's `message` tool.

## Core Actions

### Send Messages

Send a message to a Discord channel:

```bash
message action=send channel=discord target="#channel-name" message="Your message here"
```

Or by channel ID:

```bash
message action=send channel=discord target="1234567890" message="Your message here"
```

**Tips:**
- Use channel names with `#` prefix or channel IDs
- For multiple links, wrap in `<>` to suppress embeds: `<https://example.com>`
- No markdown tables! Use bullet lists instead
- Support effects with `effect=balloons` or `effectId=invisible-ink`

### Reply to Messages

Reply to a specific message:

```bash
message action=send channel=discord target="#channel-name" message="Reply text" replyTo="message-id"
```

The `replyTo` parameter creates a threaded reply to the specified message ID.

### Search Messages

Search for messages in a channel:

```bash
message action=search channel=discord channelId="1234567890" query="search terms" limit=50
```

**Search options:**
- `query`: Search terms
- `authorId`: Filter by author
- `before`/`after`/`around`: Message ID for pagination
- `limit`: Max results (default 25)

See [SEARCH.md](references/SEARCH.md) for advanced search patterns.

### Other Actions

**Read messages:**
```bash
message action=read channel=discord target="#channel-name" limit=20
```

**React to messages:**
```bash
message action=react channel=discord messageId="1234567890" emoji="👍"
```

**Edit messages:**
```bash
message action=edit channel=discord messageId="1234567890" message="Updated text"
```

**Delete messages:**
```bash
message action=delete channel=discord messageId="1234567890"
```

## Quick Reference

Common patterns:

- **Announce to channel**: `action=send target="#announcements"`
- **Reply in thread**: `action=send replyTo="msg-id"`
- **Recent activity**: `action=read limit=10`
- **Find mentions**: `action=search query="@username"`
- **Acknowledge**: `action=react emoji="âś…"`

## Channel Management

**List channels:**
```bash
message action=channel-list channel=discord guildId="server-id"
```

**Get channel info:**
```bash
message action=channel-info channel=discord channelId="1234567890"
```

For creating/editing channels, see [CHANNELS.md](references/CHANNELS.md).

## Best Practices

1. **Use target names when possible** - `target="#general"` is clearer than IDs
2. **Batch reactions** - One emoji per message, pick the best fit
3. **Format for Discord** - Bullets not tables, `<link>` to suppress embeds
4. **Search before asking** - Check history before requesting info
5. **React > Reply** - Use reactions for simple acknowledgments

## Configuration

Your Discord bot configuration should be in the gateway config. The `message` tool routes to the configured Discord plugin automatically when `channel=discord` is specified.

For setup help, see [CONFIG.md](references/CONFIG.md).

Overview

This skill lets you send, reply to, search, and manage messages in Discord channels through a message tool. It provides commands for posting, threading, reacting, editing, deleting, and reading channel history. Use it to automate channel communication, query activity, or perform routine moderation tasks.

How this skill works

Commands are issued via a unified message tool with an action parameter (send, search, read, react, edit, delete, channel-list, channel-info). Specify channel=discord and target by name (#channel) or channelId. Search and pagination options let you filter by query, author, and message ranges.

When to use it

  • Post announcements or routine updates to a channel programmatically
  • Reply to a specific message to create or continue a thread
  • Search channel history for keywords, mentions, or author activity
  • Quickly react to messages as acknowledgements or approvals
  • Read recent activity for monitoring or generating summaries

Best practices

  • Prefer named targets (target="#general") for readability unless IDs are required
  • Wrap multiple links in <> to suppress automatic embeds when needed
  • Use bullet lists instead of tables when formatting Discord messages
  • Search history before asking repetitive questions to avoid duplicates
  • Use reactions for simple acknowledgments instead of full replies

Example use cases

  • Announce a release: action=send target="#announcements" message="Release v1.2 is live"
  • Reply in-thread to a user question: action=send target="#support" message="Answer" replyTo="msg-id"
  • Audit recent activity: action=read target="#moderation" limit=50
  • Find all mentions of a topic: action=search channelId="123" query="@username" limit=100
  • Acknowledge a report with a reaction: action=react messageId="123" emoji="âś…"

FAQ

How do I suppress link previews?

Wrap the URL in angle brackets like <https://example.com> to prevent embeds.

Can I target channels by name and ID?

Yes. Use a #prefixed name (target="#channel") or a numeric channelId for precision.