← 返回 Skills 市场
mariaponomarenko38

Discord skill

作者 MariaPonomarenko38 · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
36
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install discord-skill-best
功能描述
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 thre...
使用说明 (SKILL.md)

Discord Actions

Overview

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.

Inputs to collect

  • For reactions: channelId, messageId, and an emoji.
  • For fetchMessage: guildId, channelId, messageId, or a messageLink like https://discord.com/channels/\x3CguildId>/\x3CchannelId>/\x3CmessageId>.
  • For stickers/polls/sendMessage: a to target (channel:\x3Cid> or user:\x3Cid>). 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:\x3Cid>" format, not channelId. Other actions like react, readMessages, editMessage use channelId directly. Note: fetchMessage accepts message IDs or full links like https://discord.com/channels/\x3CguildId>/\x3CchannelId>/\x3CmessageId>.

Actions

React to a message

{
  "action": "react",
  "channelId": "123",
  "messageId": "456",
  "emoji": "✅"
}

List reactions + users

{
  "action": "reactions",
  "channelId": "123",
  "messageId": "456",
  "limit": 100
}

Send a sticker

{
  "action": "sticker",
  "to": "channel:123",
  "stickerIds": ["9876543210"],
  "content": "Nice work!"
}
  • Up to 3 sticker IDs per message.
  • to can be user:\x3Cid> for DMs.

Upload a custom emoji

{
  "action": "emojiUpload",
  "guildId": "999",
  "name": "party_blob",
  "mediaUrl": "file:///tmp/party.png",
  "roleIds": ["222"]
}
  • Emoji images must be PNG/JPG/GIF and \x3C= 256KB.
  • roleIds is optional; omit to make the emoji available to everyone.

Upload a sticker

{
  "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 \x3C= 512KB.

Create a poll

{
  "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).

Check bot permissions for a channel

{
  "action": "permissions",
  "channelId": "123"
}

Ideas to try

  • 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.

Action gating

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)
  • channels (channel/category create/edit/delete/move, default false)
  • moderation (timeout/kick/ban, default false)

Read recent messages

{
  "action": "readMessages",
  "channelId": "123",
  "limit": 20
}

Fetch a single message

{
  "action": "fetchMessage",
  "guildId": "999",
  "channelId": "123",
  "messageId": "456"
}
{
  "action": "fetchMessage",
  "messageLink": "https://discord.com/channels/999/123/456"
}

Send/edit/delete a message

{
  "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:\x3Cid> or user:\x3Cid> 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"
}

Threads

{
  "action": "threadCreate",
  "channelId": "123",
  "name": "Bug triage",
  "messageId": "456"
}
{
  "action": "threadList",
  "guildId": "999"
}
{
  "action": "threadReply",
  "channelId": "777",
  "content": "Replying in thread"
}

Pins

{
  "action": "pinMessage",
  "channelId": "123",
  "messageId": "456"
}
{
  "action": "listPins",
  "channelId": "123"
}

Search messages

{
  "action": "searchMessages",
  "guildId": "999",
  "content": "release notes",
  "channelIds": ["123", "456"],
  "limit": 10
}

Member + role info

{
  "action": "memberInfo",
  "guildId": "999",
  "userId": "111"
}
{
  "action": "roleInfo",
  "guildId": "999"
}

List available custom emojis

{
  "action": "emojiList",
  "guildId": "999"
}

Role changes (disabled by default)

{
  "action": "roleAdd",
  "guildId": "999",
  "userId": "111",
  "roleId": "222"
}

Channel info

{
  "action": "channelInfo",
  "channelId": "123"
}
{
  "action": "channelList",
  "guildId": "999"
}

Channel management (disabled by default)

Create, edit, delete, and move channels and categories. Enable via discord.actions.channels: true.

Create a text channel:

{
  "action": "channelCreate",
  "guildId": "999",
  "name": "general-chat",
  "type": 0,
  "parentId": "888",
  "topic": "General discussion"
}
  • type: Discord channel type integer (0 = text, 2 = voice, 4 = category; other values supported)
  • parentId: category ID to nest under (optional)
  • topic, position, nsfw: optional

Create a category:

{
  "action": "categoryCreate",
  "guildId": "999",
  "name": "Projects"
}

Edit a channel:

{
  "action": "channelEdit",
  "channelId": "123",
  "name": "new-name",
  "topic": "Updated topic"
}
  • Supports name, topic, position, parentId (null to remove from category), nsfw, rateLimitPerUser

Move a channel:

{
  "action": "channelMove",
  "guildId": "999",
  "channelId": "123",
  "parentId": "888",
  "position": 2
}
  • parentId: target category (null to move to top level)

Delete a channel:

{
  "action": "channelDelete",
  "channelId": "123"
}

Edit/delete a category:

{
  "action": "categoryEdit",
  "categoryId": "888",
  "name": "Renamed Category"
}
{
  "action": "categoryDelete",
  "categoryId": "888"
}

Voice status

{
  "action": "voiceStatus",
  "guildId": "999",
  "userId": "111"
}

Scheduled events

{
  "action": "eventList",
  "guildId": "999"
}

Moderation (disabled by default)

{
  "action": "timeout",
  "guildId": "999",
  "userId": "111",
  "durationMinutes": 10
}

Discord Writing Style Guide

Keep it conversational! Discord is a chat platform, not documentation.

Do

  • 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

Don't

  • 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

Formatting that works

  • bold for emphasis
  • code for technical terms
  • Lists for multiple items
  • quotes for referencing

  • Wrap multiple links in \x3C> to suppress embeds

Example transformations

❌ 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?
安全使用建议
Install only if you want Clawdbot to act in Discord. Before enabling it, restrict the Discord bot token to specific servers/channels and least-privilege permissions, disable unused action groups, and require confirmation before sending, deleting, uploading, or moderating content.
功能分析
Type: OpenClaw Skill Name: discord-skill-best Version: 1.0.0 The skill provides comprehensive Discord control, including messaging, moderation, and channel management. A significant security risk is identified in 'SKILL.md', which explicitly instructs the agent to use 'file:///' URIs for media uploads, potentially allowing for the exfiltration of sensitive local files (e.g., credentials or configuration) if the agent is misdirected. While the skill includes action gating to restrict sensitive functions like moderation and role management, the inclusion of arbitrary local file access is a high-risk capability that warrants caution.
能力评估
Purpose & Capability
The Discord-control purpose matches the documented actions, but the capability set is broad and includes public/team-visible mutations such as sending, editing, deleting, pinning, uploading emojis/stickers, channel management, and moderation.
Instruction Scope
The instructions document high-impact actions but do not require explicit user confirmation, approved guild/channel allowlists, or reversibility checks before posting, deleting, uploading, or moderating.
Install Mechanism
No install spec or code files are present; this is an instruction-only skill, and the static scanner had nothing executable to flag.
Credentials
The skill relies on a configured Clawdbot Discord bot token and Discord workspace permissions, but the registry metadata declares no primary credential or required environment variables.
Persistence & Privilege
There is no local persistence, but Discord-side changes such as messages, pins, uploads, channel changes, and moderation actions can have durable effects in a server.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install discord-skill-best
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /discord-skill-best 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
Initial release of Discord Skill for Clawdbot. - Enables sending messages, reactions, stickers, emoji uploads, polls, and DMs via Discord. - Supports managing channels, threads, pins, and search. - Provides tools for uploading custom emojis and stickers (with file guidelines). - Allows fetching permissions, member, role, and channel info. - Actions for moderation, role management, and channel/category edit/create/delete are included but disabled by default. - All actions are documented with JSON examples and input requirements.
元数据
Slug discord-skill-best
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Discord skill 是什么?

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 thre... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 36 次。

如何安装 Discord skill?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install discord-skill-best」即可一键安装,无需额外配置。

Discord skill 是免费的吗?

是的,Discord skill 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Discord skill 支持哪些平台?

Discord skill 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Discord skill?

由 MariaPonomarenko38(@mariaponomarenko38)开发并维护,当前版本 v1.0.0。

💬 留言讨论