Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Use when you need to control Discord from Clawdbot via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, fetch permissions or member/role/channel info, or handle moderation actions in Discord DMs or channels.
Use when you need to control Discord from Clawdbot via the discord tool: send messages, react, post or upload stickers, upload emojis, run polls, manage threads/pins/search, fetch permissions or member/role/channel info, or handle moderation actions in Discord DMs or channels.
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Use discord to manage messages, reactions, threads, polls, and moderation. You can disable groups via discord.actions.* (defaults to enabled, except roles/moderation). The tool uses the bot token configured for Clawdbot.
For reactions: channelId, messageId, and an emoji. For stickers/polls/sendMessage: a to target (channel:<id> or user:<id>). Optional content text. Polls also need a question plus 2β10 answers. For media: mediaUrl with file:///path for local files or https://... for remote. For emoji uploads: guildId, name, mediaUrl, optional roleIds (limit 256KB, PNG/JPG/GIF). For sticker uploads: guildId, name, description, tags, mediaUrl (limit 512KB, PNG/APNG/Lottie JSON). Message context lines include discord message id and channel fields you can reuse directly. Note: sendMessage uses to: "channel:<id>" format, not channelId. Other actions like react, readMessages, editMessage use channelId directly.
{ "action": "react", "channelId": "123", "messageId": "456", "emoji": "β " }
{ "action": "reactions", "channelId": "123", "messageId": "456", "limit": 100 }
{ "action": "sticker", "to": "channel:123", "stickerIds": ["9876543210"], "content": "Nice work!" } Up to 3 sticker IDs per message. to can be user:<id> for DMs.
{ "action": "emojiUpload", "guildId": "999", "name": "party_blob", "mediaUrl": "file:///tmp/party.png", "roleIds": ["222"] } Emoji images must be PNG/JPG/GIF and <= 256KB. roleIds is optional; omit to make the emoji available to everyone.
{ "action": "stickerUpload", "guildId": "999", "name": "clawdbot_wave", "description": "Clawdbot waving hello", "tags": "π", "mediaUrl": "file:///tmp/wave.png" } Stickers require name, description, and tags. Uploads must be PNG/APNG/Lottie JSON and <= 512KB.
{ "action": "poll", "to": "channel:123", "question": "Lunch?", "answers": ["Pizza", "Sushi", "Salad"], "allowMultiselect": false, "durationHours": 24, "content": "Vote now" } durationHours defaults to 24; max 32 days (768 hours).
{ "action": "permissions", "channelId": "123" }
React with β /β οΈ to mark status updates. Post a quick poll for release decisions or meeting times. Send celebratory stickers after successful deploys. Upload new emojis/stickers for release moments. Run weekly βpriority checkβ polls in team channels. DM stickers as acknowledgements when a userβs request is completed.
Use discord.actions.* to disable action groups: reactions (react + reactions list + emojiList) stickers, polls, permissions, messages, threads, pins, search emojiUploads, stickerUploads memberInfo, roleInfo, channelInfo, voiceStatus, events roles (role add/remove, default false) moderation (timeout/kick/ban, default false)
{ "action": "readMessages", "channelId": "123", "limit": 20 }
{ "action": "sendMessage", "to": "channel:123", "content": "Hello from Clawdbot" } With media attachment: { "action": "sendMessage", "to": "channel:123", "content": "Check out this audio!", "mediaUrl": "file:///tmp/audio.mp3" } to uses format channel:<id> or user:<id> for DMs (not channelId!) mediaUrl supports local files (file:///path/to/file) and remote URLs (https://...) Optional replyTo with a message ID to reply to a specific message { "action": "editMessage", "channelId": "123", "messageId": "456", "content": "Fixed typo" } { "action": "deleteMessage", "channelId": "123", "messageId": "456" }
{ "action": "threadCreate", "channelId": "123", "name": "Bug triage", "messageId": "456" } { "action": "threadList", "guildId": "999" } { "action": "threadReply", "channelId": "777", "content": "Replying in thread" }
{ "action": "pinMessage", "channelId": "123", "messageId": "456" } { "action": "listPins", "channelId": "123" }
{ "action": "searchMessages", "guildId": "999", "content": "release notes", "channelIds": ["123", "456"], "limit": 10 }
{ "action": "memberInfo", "guildId": "999", "userId": "111" } { "action": "roleInfo", "guildId": "999" }
{ "action": "emojiList", "guildId": "999" }
{ "action": "roleAdd", "guildId": "999", "userId": "111", "roleId": "222" }
{ "action": "channelInfo", "channelId": "123" } { "action": "channelList", "guildId": "999" }
{ "action": "voiceStatus", "guildId": "999", "userId": "111" }
{ "action": "eventList", "guildId": "999" }
{ "action": "timeout", "guildId": "999", "userId": "111", "durationMinutes": 10 }
Keep it conversational! Discord is a chat platform, not documentation.
Short, punchy messages (1-3 sentences ideal) Multiple quick replies > one wall of text Use emoji for tone/emphasis π¦ Lowercase casual style is fine Break up info into digestible chunks Match the energy of the conversation
No markdown tables (Discord renders them as ugly raw | text |) No ## Headers for casual chat (use bold or CAPS for emphasis) Avoid multi-paragraph essays Don't over-explain simple things Skip the "I'd be happy to help!" fluff
bold for emphasis code for technical terms Lists for multiple items quotes for referencing Wrap multiple links in <> to suppress embeds
β Bad: I'd be happy to help with that! Here's a comprehensive overview of the versioning strategies available: ## Semantic Versioning Semver uses MAJOR.MINOR.PATCH format where... ## Calendar Versioning CalVer uses date-based versions like... β Good: versioning options: semver (1.2.3), calver (2026.01.04), or yolo (`latest` forever). what fits your release cadence?
Code helpers, APIs, CLIs, browser automation, testing, and developer operations.
Largest current source with strong distribution and engagement signals.