
discord
✓ Official★ 3by firecrawl · part of firecrawl/openclaw
Discord ops via the message tool (channel=discord).
Discord ops via the message tool (channel=discord).
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by firecrawl
Discord ops via the message tool (channel=discord).
npx skills add https://github.com/firecrawl/openclaw --skill discord
Download ZIPGitHub3
Discord (Via message)
Use the message tool. No provider-specific discord tool exposed to the agent.
Musts
-
Always:
channel: "discord". -
Respect gating:
channels.discord.actions.*(some default off:roles,moderation,presence,channels). -
Prefer explicit ids:
guildId,channelId,messageId,userId. -
Multi-account: optional
accountId.
Guidelines
-
Avoid Markdown tables in outbound Discord messages.
-
Mention users as
<@USER_ID>. -
Prefer Discord components v2 (
components) for rich UI; use legacyembedsonly when you must.
Targets
-
Send-like actions:
to: "channel:<id>"orto: "user:<id>". -
Message-specific actions:
channelId: "<id>"(orto) +messageId: "<id>".
Common Actions (Examples)
Send message:
{
"action": "send",
"channel": "discord",
"to": "channel:123",
"message": "hello",
"silent": true
}
Send with media:
{
"action": "send",
"channel": "discord",
"to": "channel:123",
"message": "see attachment",
"media": "file:///tmp/example.png"
}
- Optional
silent: trueto suppress Discord notifications.
Send with components v2 (recommended for rich UI):
{
"action": "send",
"channel": "discord",
"to": "channel:123",
"message": "Status update",
"components": "[Carbon v2 components]"
}
-
componentsexpects Carbon component instances (Container, TextDisplay, etc.) from JS/TS integrations. -
Do not combine
componentswithembeds(Discord rejects v2 + embeds).
Legacy embeds (not recommended):
{
"action": "send",
"channel": "discord",
"to": "channel:123",
"message": "Status update",
"embeds": [{ "title": "Legacy", "description": "Embeds are legacy." }]
}
embedsare ignored when components v2 are present.
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", "Salad"],
"pollMulti": false,
"pollDurationHours": 24
}
Pins:
{
"action": "pin",
"channel": "discord",
"channelId": "123",
"messageId": "456"
}
Threads:
{
"action": "thread-create",
"channel": "discord",
"channelId": "123",
"messageId": "456",
"threadName": "bug triage"
}
Search:
{
"action": "search",
"channel": "discord",
"guildId": "999",
"query": "release notes",
"channelIds": ["123", "456"],
"limit": 10
}
Presence (often gated):
{
"action": "set-presence",
"channel": "discord",
"activityType": "playing",
"activityName": "with fire",
"status": "online"
}
Writing Style (Discord)
-
Short, conversational, low ceremony.
-
No markdown tables.
-
Mention users as
<@USER_ID>.
npx skills add https://github.com/firecrawl/openclaw --skill discordRun this in your project — your agent picks the skill up automatically.
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.