message)Use the message tool. No provider-specific discord tool exposed to the agent.
channel: "discord".channels.discord.actions.* (some default off: roles, moderation, presence, channels).guildId, channelId, messageId, userId.accountId.<@USER_ID>.components) for rich UI; use legacy embeds only when you must.to: "channel:<id>" or to: "user:<id>".channelId: "<id>" (or to) + messageId: "<id>".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"
}silent: true to 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]"
}components expects Carbon component instances (Container, TextDisplay, etc.) from JS/TS integrations.components with embeds (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." }]
}embeds are 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"
}<@USER_ID>.npx skills add openclaw/openclaw/skills/discordانسخ الأمر أعلاه وشغّله في الطرفية للتثبيت العام.
أضف متغيرات البيئة المطلوبة إلى عميل MCP وفقاً لوصف المهارة.
ثبّت هذه المهارة وفعّلها في تطبيق متوافق مع MCP (مثل Claude أو Cursor).