discord

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Discord

Discord

Post messages and announcements to Discord channels via the REST API. Navigate channels by name, send formatted messages with embeds, manage reactions, threads, and more.
通过REST API向Discord频道发送消息和公告。支持按名称查找频道、发送带嵌入内容的格式化消息,还能管理表情反应、话题线程等更多功能。

Setup

配置步骤

Run the setup script to authenticate via Discord:
bash
node .claude/skills/discord/setup.mjs https://discord-proxy.civitai.com
This will:
  1. Open your browser for Discord authentication
  2. Verify you're in the team server
  3. Save your personal API token to
    .env
运行设置脚本以通过Discord进行身份验证:
bash
node .claude/skills/discord/setup.mjs https://discord-proxy.civitai.com
该脚本会:
  1. 打开浏览器进行Discord身份验证
  2. 验证你是否在团队服务器中
  3. 将你的个人API令牌保存到
    .env
    文件

Admin Only: Direct Bot Token

管理员专属:直接使用Bot令牌

If you manage the bot directly and need to bypass the proxy:
  1. Copy
    .env.example
    to
    .env
    in this skill directory
  2. Uncomment and set
    DISCORD_BOT_TOKEN
  3. Optionally set
    DISCORD_GUILD
    for auto-detection
bash
cp .claude/skills/discord/.env.example .claude/skills/discord/.env
如果你直接管理Bot并需要绕过代理:
  1. 将该技能目录下的
    .env.example
    复制为
    .env
  2. 取消注释并设置
    DISCORD_BOT_TOKEN
  3. 可选设置
    DISCORD_GUILD
    以实现自动检测
bash
cp .claude/skills/discord/.env.example .claude/skills/discord/.env

Running Commands

运行命令

bash
node .claude/skills/discord/query.mjs <command> [options]
bash
node .claude/skills/discord/query.mjs <command> [options]

Commands

命令列表

CommandDescription
guilds
List all guilds (servers) the bot is in
channels [guild]
List text channels in a guild
send <channel> "message"
Send a plain text message
announce <channel> "message"
Send a formatted announcement embed
me
Show bot information
users
List all members in the guild
user <name|id>
Get user info and mention format
roles
List all roles in the guild
role <name|id>
Get role info and mention format
messages <channel>
Get recent messages from a channel
edit <msg_link> "content"
Edit a message (bot's own only)
delete <msg_link>
Delete a message
reply <msg_link> "content"
Reply to a message
rich-embed <channel>
Send embed with structured fields
react <msg_link> <emoji>
Add reaction to a message
unreact <msg_link> <emoji>
Remove reaction from a message
pin <msg_link>
Pin a message
unpin <msg_link>
Unpin a message
pins <channel>
List pinned messages in a channel
thread <channel> --thread "name"
Create a thread
dm <user> "message"
Send a direct message to a user
dm-messages <user>
Read DM history with a user
命令描述
guilds
列出机器人加入的所有Guild(服务器)
channels [guild]
列出指定Guild中的文本频道
send <channel> "message"
发送纯文本消息
announce <channel> "message"
发送带格式化嵌入内容的公告
me
显示Bot的信息
users
列出Guild中的所有成员
user <name|id>
获取用户信息和提及格式
roles
列出Guild中的所有角色
role <name|id>
获取角色信息和提及格式
messages <channel>
获取频道中的近期消息
edit <msg_link> "content"
编辑消息(仅能编辑Bot自身发送的消息)
delete <msg_link>
删除消息
reply <msg_link> "content"
回复消息
rich-embed <channel>
发送带结构化字段的嵌入内容
react <msg_link> <emoji>
为消息添加表情反应
unreact <msg_link> <emoji>
移除消息的表情反应
pin <msg_link>
置顶消息
unpin <msg_link>
取消置顶消息
pins <channel>
列出频道中的置顶消息
thread <channel> --thread "name"
创建话题线程
dm <user> "message"
向用户发送私信
dm-messages <user>
查看与用户的私信历史

Options

选项参数

FlagDescription
--json
Output raw JSON response
--title "text"
Set embed title
--color <hex>
Set embed color (default: #1E88E5 blue)
--footer "text"
Set embed footer text
--url "link"
Add a URL to the embed title
--limit, -n <N>
Limit results (users: default 100, messages: default 20)
--field "Name|Value|inline"
Add field to rich embed (repeatable)
--thumbnail "url"
Add thumbnail image to embed
--image "url"
Add large image to embed
--thread "name"
Thread name (for thread command)
标识描述
--json
输出原始JSON响应
--title "text"
设置嵌入内容的标题
--color <hex>
设置嵌入内容的颜色(默认:#1E88E5 蓝色)
--footer "text"
设置嵌入内容的页脚文本
--url "link"
为嵌入内容的标题添加链接
--limit, -n <N>
限制结果数量(用户列表默认100条,消息默认20条)
--field "Name|Value|inline"
为富嵌入内容添加字段(可重复使用)
--thumbnail "url"
为嵌入内容添加缩略图
--image "url"
为嵌入内容添加大图
--thread "name"
话题线程名称(仅用于thread命令)

Examples

使用示例

Send Messages

发送消息

bash
undefined
bash
undefined

Send to channel by name

按频道名称发送消息

node .claude/skills/discord/query.mjs send dev-general "Deployment complete!"
node .claude/skills/discord/query.mjs send dev-general "部署完成!"

Send to channel by ID

按频道ID发送消息

node .claude/skills/discord/query.mjs send 966054537880289330 "Build passed"
undefined
node .claude/skills/discord/query.mjs send 966054537880289330 "构建通过"
undefined

Send Announcements

发送公告

bash
undefined
bash
undefined

Basic announcement with auto-formatting

基础公告,自动格式化

node .claude/skills/discord/query.mjs announce dev-alerts "New feature deployed!"
node .claude/skills/discord/query.mjs announce dev-alerts "新功能已部署!"

Announcement with custom title and color

自定义标题和颜色的公告

node .claude/skills/discord/query.mjs announce deployments "v5.0.1381 released" --title "Release" --color "#00C853"
undefined
node .claude/skills/discord/query.mjs announce deployments "v5.0.1381版本已发布" --title "版本发布" --color "#00C853"
undefined

Rich Embeds with Fields

带字段的富嵌入内容

bash
undefined
bash
undefined

Structured release announcement

结构化的版本发布公告

node .claude/skills/discord/query.mjs rich-embed dev-general "New release is live!"
--title "Release v5.0.1382"
--field "Version|5.0.1382|inline"
--field "Author|@justin|inline"
--field "Changes|3 files modified"
--footer "Civitai"
--color "#00C853"
undefined
node .claude/skills/discord/query.mjs rich-embed dev-general "新版本已上线!"
--title "版本发布 v5.0.1382"
--field "版本号|5.0.1382|inline"
--field "作者|@justin|inline"
--field "变更内容|修改了3个文件"
--footer "Civitai"
--color "#00C853"
undefined

Edit Messages

编辑消息

bash
undefined
bash
undefined

Edit using message link

使用消息链接编辑

node .claude/skills/discord/query.mjs edit "https://discord.com/channels/955.../966.../123..." "Updated content"
node .claude/skills/discord/query.mjs edit "https://discord.com/channels/955.../966.../123..." "更新后的内容"

Edit using channel + message ID

使用频道名称+消息ID编辑

node .claude/skills/discord/query.mjs edit dev-general 1234567890 "Updated content"
undefined
node .claude/skills/discord/query.mjs edit dev-general 1234567890 "更新后的内容"
undefined

Delete Messages

删除消息

bash
undefined
bash
undefined

Delete using message link

使用消息链接删除

node .claude/skills/discord/query.mjs delete "https://discord.com/channels/955.../966.../123..."
node .claude/skills/discord/query.mjs delete "https://discord.com/channels/955.../966.../123..."

Delete using channel + message ID

使用频道名称+消息ID删除

node .claude/skills/discord/query.mjs delete dev-general 1234567890
undefined
node .claude/skills/discord/query.mjs delete dev-general 1234567890
undefined

Reply to Messages

回复消息

bash
undefined
bash
undefined

Reply using message link

使用消息链接回复

node .claude/skills/discord/query.mjs reply "https://discord.com/channels/955.../966.../123..." "Thanks for the update!"
node .claude/skills/discord/query.mjs reply "https://discord.com/channels/955.../966.../123..." "感谢你的更新!"

Reply using channel + message ID

使用频道名称+消息ID回复

node .claude/skills/discord/query.mjs reply dev-general 1234567890 "Got it!"
undefined
node .claude/skills/discord/query.mjs reply dev-general 1234567890 "收到!"
undefined

Reactions

表情反应

bash
undefined
bash
undefined

Add a reaction (use Unicode emoji)

添加表情反应(使用Unicode表情)

node .claude/skills/discord/query.mjs react "https://discord.com/channels/..." "U+2705" node .claude/skills/discord/query.mjs react dev-general 1234567890 "U+1F44D"
node .claude/skills/discord/query.mjs react "https://discord.com/channels/..." "U+2705" node .claude/skills/discord/query.mjs react dev-general 1234567890 "U+1F44D"

Remove a reaction

移除表情反应

node .claude/skills/discord/query.mjs unreact "https://discord.com/channels/..." "U+2705"
undefined
node .claude/skills/discord/query.mjs unreact "https://discord.com/channels/..." "U+2705"
undefined

Pin/Unpin Messages

置顶/取消置顶消息

bash
undefined
bash
undefined

Pin a message

置顶消息

node .claude/skills/discord/query.mjs pin "https://discord.com/channels/..."
node .claude/skills/discord/query.mjs pin "https://discord.com/channels/..."

Unpin a message

取消置顶消息

node .claude/skills/discord/query.mjs unpin "https://discord.com/channels/..."
node .claude/skills/discord/query.mjs unpin "https://discord.com/channels/..."

List pinned messages

列出频道中的置顶消息

node .claude/skills/discord/query.mjs pins dev-general
undefined
node .claude/skills/discord/query.mjs pins dev-general
undefined

Threads

话题线程

bash
undefined
bash
undefined

Create thread from a message

基于消息创建话题线程

node .claude/skills/discord/query.mjs thread "https://discord.com/channels/..." --thread "Discussion"
node .claude/skills/discord/query.mjs thread "https://discord.com/channels/..." --thread "讨论"

Create thread in channel (no parent message)

在频道中创建话题线程(无父消息)

node .claude/skills/discord/query.mjs thread dev-general --thread "New Topic"
undefined
node .claude/skills/discord/query.mjs thread dev-general --thread "新话题"
undefined

Direct Messages

私信功能

bash
undefined
bash
undefined

Send DM to a user by name

按用户名发送私信

node .claude/skills/discord/query.mjs dm justin "Hey, can you review this PR?"
node .claude/skills/discord/query.mjs dm justin "嘿,能帮忙审核这个PR吗?"

Send DM to a user by ID

按用户ID发送私信

node .claude/skills/discord/query.mjs dm 303445765865603073 "Quick question about the deployment"
node .claude/skills/discord/query.mjs dm 303445765865603073 "关于部署的快速问题"

Read DM history with a user

查看与用户的私信历史

node .claude/skills/discord/query.mjs dm-messages justin
node .claude/skills/discord/query.mjs dm-messages justin

Read last 50 DMs

查看最近50条私信

node .claude/skills/discord/query.mjs dm-messages justin --limit 50
undefined
node .claude/skills/discord/query.mjs dm-messages justin --limit 50
undefined

Users and Roles

用户与角色管理

bash
undefined
bash
undefined

List users

列出用户

node .claude/skills/discord/query.mjs users --limit 50
node .claude/skills/discord/query.mjs users --limit 50

Find user to get mention format

查找用户以获取提及格式

node .claude/skills/discord/query.mjs user justin
node .claude/skills/discord/query.mjs user justin

Output: Mention: <@303445765865603073>

输出:提及格式: <@303445765865603073>

List roles

列出角色

node .claude/skills/discord/query.mjs roles
node .claude/skills/discord/query.mjs roles

Find role to get mention format

查找角色以获取提及格式

node .claude/skills/discord/query.mjs role devs
node .claude/skills/discord/query.mjs role devs

Output: Mention: <@&955572624992382996>

输出:提及格式: <@&955572624992382996>

undefined
undefined

Mention Users and Roles

提及用户与角色

bash
undefined
bash
undefined

Mention a user in a message

在消息中提及用户

node .claude/skills/discord/query.mjs send dev-general "<@303445765865603073> check this PR"
node .claude/skills/discord/query.mjs send dev-general "<@303445765865603073> 请查看这个PR"

Mention a role

在消息中提及角色

node .claude/skills/discord/query.mjs announce dev-general "<@&955572624992382996> new release!" --title "Attention Devs"
undefined
node .claude/skills/discord/query.mjs announce dev-general "<@&955572624992382996> 新版本发布!" --title "开发者注意"
undefined

Read Messages

读取消息

bash
undefined
bash
undefined

Get last 20 messages (default)

获取最近20条消息(默认)

node .claude/skills/discord/query.mjs messages dev-general
node .claude/skills/discord/query.mjs messages dev-general

Get last 50 messages

获取最近50条消息

node .claude/skills/discord/query.mjs messages dev-general --limit 50
undefined
node .claude/skills/discord/query.mjs messages dev-general --limit 50
undefined

Message Links

消息链接说明

Most commands accept Discord message links directly:
  • Format:
    https://discord.com/channels/GUILD_ID/CHANNEL_ID/MESSAGE_ID
  • Right-click any message in Discord > "Copy Message Link"
Commands that accept message links:
edit
,
delete
,
reply
,
react
,
unreact
,
pin
,
unpin
,
thread
大多数命令支持直接使用Discord消息链接:
  • 格式:
    https://discord.com/channels/GUILD_ID/CHANNEL_ID/MESSAGE_ID
  • 获取方式:在Discord中右键任意消息 > "复制消息链接"
支持消息链接的命令:
edit
,
delete
,
reply
,
react
,
unreact
,
pin
,
unpin
,
thread

Channel Name Matching

频道名称匹配规则

Channel names are matched flexibly:
  • Exact match:
    dev-general
  • Partial match:
    dev-gen
    matches
    dev-general
  • With or without emoji prefix:
    team
    matches
    team
  • Case insensitive:
    DEV-GENERAL
    matches
    dev-general
频道名称匹配灵活:
  • 精确匹配:
    dev-general
  • 部分匹配:
    dev-gen
    会匹配
    dev-general
  • 忽略表情前缀:
    team
    会匹配
    team
    (无论是否带表情前缀)
  • 大小写不敏感:
    DEV-GENERAL
    会匹配
    dev-general

When to Use

适用场景

  • Deployments: Announce releases to
    deployments
    or
    dev-alerts
  • Bug fixes: Share fixes with the team in
    dev-general
  • Feature announcements: Post to relevant channels
  • Team updates: Share progress in
    team
    or project-specific channels
  • Automated notifications: Post from CI/CD or scripts
  • Mentioning users: Look up user IDs with
    user
    command, then @mention them
  • Mentioning roles: Look up role IDs with
    role
    command, then @mention them
  • Reading context: Check recent messages with
    messages
    command
  • Reactions: Acknowledge messages with emoji reactions
  • Organizing discussions: Create threads for focused conversations
  • Direct messages: Send private DMs to team members, read DM history
  • 部署通知:向
    deployments
    dev-alerts
    频道发布版本发布公告
  • Bug修复:在
    dev-general
    频道与团队分享修复内容
  • 功能发布:在相关频道发布新功能公告
  • 团队更新:在
    team
    频道或项目专属频道分享进度
  • 自动化通知:从CI/CD或脚本中发布通知
  • 提及用户:使用
    user
    命令查找用户ID,然后@提及对方
  • 提及角色:使用
    role
    命令查找角色ID,然后@提及角色
  • 查看上下文:使用
    messages
    命令查看频道近期消息
  • 表情互动:使用表情反应确认消息已读
  • 组织讨论:创建话题线程进行聚焦讨论
  • 私信沟通:向团队成员发送私人消息,查看私信历史

Tips

使用技巧

  • Use
    announce
    for important updates (creates rich embed)
  • Use
    send
    for quick messages or automated notifications
  • Use
    rich-embed
    for structured data with multiple fields
  • Channel names are cached after first lookup
  • Bot must have appropriate permissions in target channel
  • Use
    --json
    for scripting or piping to other tools
  • Message links work across all message-targeting commands
  • 重要更新使用
    announce
    命令(会生成富嵌入内容)
  • 快速消息或自动化通知使用
    send
    命令
  • 结构化数据使用
    rich-embed
    命令添加多个字段
  • 频道名称在首次查找后会被缓存
  • Bot需要在目标频道拥有相应权限
  • 脚本或管道操作使用
    --json
    参数
  • 所有针对消息的命令都支持消息链接

Permissions Required

所需权限

The bot needs these Discord permissions:
  • View Channels
    - to list and find channels
  • Send Messages
    - to post messages
  • Embed Links
    - for rich announcements
  • Read Message History
    - to read channel messages
  • Add Reactions
    - to add reactions
  • Manage Messages
    - to pin/unpin and delete messages
  • Create Public Threads
    - to create threads
  • Server Members Intent - enabled in Discord Developer Portal (for listing members)
Bot需要以下Discord权限:
  • View Channels
    - 列出和查找频道
  • Send Messages
    - 发送消息
  • Embed Links
    - 发送富嵌入公告
  • Read Message History
    - 读取频道消息
  • Add Reactions
    - 添加表情反应
  • Manage Messages
    - 置顶/取消置顶和删除消息
  • Create Public Threads
    - 创建话题线程
  • Server Members Intent - 在Discord开发者门户中启用(用于列出成员)