<< All versions
Discord (Via
Skill v1.0.1
LLM-judged scan95/100steipete/clawdis/discord
4 files
──Details
PublishedMay 15, 2026 at 02:18 AM
Content Hashsha256:06554ae01f77c153...
Git SHA346a773b1894
Bump Typepatch
──Files
Files (1 file, 3.4 KB)
SKILL.md3.4 KBactive
SKILL.md · 199 lines · 3.4 KB
version: "1.0.1" name: discord description: "Discord ops via the message tool (channel=discord)." metadata: { "openclaw": { "emoji": "🎮", "requires": { "config": ["channels.discord.token"] } } } allowed-tools: ["message"]
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:
json
{"action": "send","channel": "discord","to": "channel:123","message": "hello","silent": true}
Send with media:
json
{"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):
json
{"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):
json
{"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:
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", "Salad"],"pollMulti": false,"pollDurationHours": 24}
Pins:
json
{"action": "pin","channel": "discord","channelId": "123","messageId": "456"}
Threads:
json
{"action": "thread-create","channel": "discord","channelId": "123","messageId": "456","threadName": "bug triage"}
Search:
json
{"action": "search","channel": "discord","guildId": "999","query": "release notes","channelIds": ["123", "456"],"limit": 10}
Presence (often gated):
json
{"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>.