@thcjp

Discord 全能控制

|-

Current version
v1.0.2
0 0All installs 0

slug: discord name: "discord" version: 1.0.3 displayName: "Discord 全能控制" summary: "通过discord工具控制机器人,管理消息、表情、投票、线程、审核等Discord全功能。通过 discord 工具控制 Discord 机器人,覆盖消息收发与编辑、表情回应与统计、 贴纸发" summary_zh: "通过discord工具控制机器人,管理消息、表情、投票、线程、审核等Discord全功能。通过 discord 工具控制 Discord 机器人,覆盖消息收发与编辑、表情回应与统计、 贴纸发" license: "MIT" description: |- 通过 discord 工具控制 Discord 机器人,覆盖消息收发与编辑、表情回应与统计、 贴纸发送与上传、自定义表情包上传、投票创建、线程管理、消息置顶、全文搜索、 成员与角色查询、频道信息、语音状态、定时事件、审核操作(禁言/踢出/封禁)等全套能力. 支持通过 discord.actions.* 对各操作组进行细粒度门控,角色与审核默认关闭. 适用于社区运营自动化、发布通知、团队协作跟进和内容审核场景. tags:

  • Communication
  • Discord
  • Bot
  • 社交
  • 通信
  • action
  • discord
  • messageid
  • channelid
  • 状态码 tools:
  • read
  • exec
  • write homepage: "" category: "Communication" homepage: "" pricing_tier: "L2-标准级"

Discord 全能控制

输入参数

参数名类型必填说明
inputstringDiscord 全能控制处理的输入数据或指令
optionsobject附加配置选项,如模式选择、格式偏好等
callback_urlstring异步处理完成后的回调通知URL

能力清单

消息管理

  • sendMessage:向频道 channel:<id> 或私信 user:<id> 发送消息,支持 contentmediaUrl(本地 file:/// 或远程 https://)、replyTo 回复指定消息.
  • editMessage:按 channelId + messageId 编辑已发消息内容.
  • deleteMessage:按 channelId + messageId 删除消息.
  • readMessages:按 channelId 拉取最近消息,支持 limit 控制条数.

表情回应

  • react:对指定消息添加 emoji(如 ⚠️).
  • reactions:列出某条消息的回应及对应用户列表,支持 limit.
  • emojiList:列出服务器可用自定义表情.
  • emojiUpload:上传自定义表情,需 guildIdnamemediaUrl,可选 roleIds 限定可见角色。PNG/JPG/GIF,≤256KB. 输出: 返回表情回应的解析响应,包含完成状态码、响应数据和完成日志。

贴纸任务

  • sticker:发送贴纸,to 指定目标,stickerIds 最多 3 个,可附带 content.
  • stickerUpload:上传贴纸,需 guildIdnamedescriptiontagsmediaUrl。PNG/APNG/Lottie JSON,≤512KB.

投票创建

  • poll:在频道发起投票,需 question + 2~10 个 answers,支持 allowMultiselectdurationHours(默认 24,最大 768 即 32 天).

线程管理

  • threadCreate:基于消息或频道创建线程,需 channelIdname,可选 messageId.
  • threadList:列出服务器下所有活跃线程.
  • threadReply:在线程内回复消息.

置顶与搜索

  • pinMessage / listPins:置顶或列出频道置顶消息.
  • searchMessages:按 guildId 全文搜索,支持 contentchannelIdslimit.

成员与角色

  • memberInfo:查询成员资料(guildId + userId).
  • roleInfo / roleAdd / roleRemove:查询或变更角色(默认关闭,需显式开启 discord.actions.roles).

频道、语音、事件

  • channelInfo / channelList:频道详情与列表.
  • voiceStatus:查询成员当前语音状态.
  • eventList:列出服务器定时事件.
  • permissions:检查机器人在指定频道的权限.

审核(默认关闭)

  • timeout:临时禁言成员(durationMinutes).
  • kick / ban:踢出或封禁成员。需开启 discord.actions.moderation.

操作步骤

  1. 确认权限与门控:通过 action: "permissions" 检查机器人在目标频道的权限;确认所需操作组未被 discord.actions.* 关闭(角色、审核默认关闭).
  2. 定位目标:明确目标格式——sendMessage/sticker/pollto: "channel:<id>"to: "user:<id>";react/readMessages/editMessage/deleteMessagechannelId 直传.
  3. 准备内容:消息文本遵循 Discord 写作风格(短句、避免 markdown 表格、链接用 <> 抑制预览);媒体走 mediaUrl,file:/// 本地或 https:// 远程;表情包/贴纸确认大小与格式限制.
  4. 执行 action:以 JSON 调用对应 action,记录返回的 messageIdthreadId 供后续编辑/回复/置顶复用.
  5. 跟进与归档:按需 pinMessagethreadReplysearchMessages 回溯;审核类操作在日志频道留痕.

案例展示

案例 1:发布通知 + 置顶 + 反应

目标:向 #releases(channel:9876543210)发布 v2.4.0 并置顶.

{
  "action": "sendMessage",
  "to": "channel:9876543210",
  "content": "**v2.4.0 已发布**\n- 新增投票统计导出\n- 修复线程回复丢失问题\n完整说明见附件",
  "mediaUrl": "file:///tmp/changelog-v2.4.0.md"
}

返回 messageId=1122334455667788 后:

{ "action": "react", "channelId": "9876543210", "messageId": "1122334455667788", "emoji": "✅" }
{ "action": "pinMessage", "channelId": "9876543210", "messageId": "1122334455667788" }

结果:频道出现带附件的发布消息,带 ✅ 反应并置顶.

案例 2:多选投票与结果统计

目标:48 小时多选投票"下周团建活动".

{
  "action": "poll",
  "to": "channel:555000555000",
  "question": "下周团建活动(可多选)",
  "answers": ["密室逃脱", "户外烧烤", "电影之夜", "桌游下午茶"],
  "allowMultiselect": true,
  "durationHours": 48,
  "content": "请大家投票,周四截止"
}

到期后通过 reactions 或投票对象统计各选项票数,在原频道回填"烧烤 12 票 / 密室 9 票"结果.

案例 3:审核处置 + 线程留痕

目标:成员 userId=111guildId=999 发布广告,禁言 30 分钟并记录.

{ "action": "deleteMessage", "channelId": "123", "messageId": "456" }
{ "action": "timeout", "guildId": "999", "userId": "111", "durationMinutes": 30 }
{ "action": "threadCreate", "channelId": "123", "name": "mod-log-111-广告", "messageId": "456" }

在审核日志频道形成可追溯的处置线程.

常见疑问

Q1:为什么 sendMessage 报错说找不到频道,而 readMessages 能用?

sendMessage 接收的是 to: "channel:<id>" 格式(带 channel: 前缀),readMessages 接收的是裸 channelId。两者格式不可混用,这是最常见的参数错误.

Q2:如何禁用部分操作防止误用?

在 配置中使用 discord.actions.* 门控,例如设 discord.actions.moderation=falsediscord.actions.roles=false(两者默认即关闭),也可关闭 emojiUploadsstickerUploadspolls 等.

Q3:贴纸和表情包上传有什么硬限制?

表情包:PNG/JPG/GIF,≤256KB,服务器表情数受 Boost 等级限制。贴纸:PNG/APNG/Lottie JSON,≤512KB,普通服务器 5 个动态贴纸位,Boost 后扩展。stickerUpload 必须同时提供 namedescriptiontags.

Q4:投票最长时间是多少?到期后怎么取结果?

durationHours 最大 768(32 天)。到期后投票自动关闭,可通过 reactions 拉取各选项的投票用户列表自行统计,或在投票消息上读取内置投票结果.

Q5:线程和频道回复有什么区别?

threadCreate 在频道内创建独立线程(可基于某条消息),threadReply 在已存在线程内发消息。普通 sendMessage 只发到主频道,不会自动进入线程。threadList 可按 guildId 列出服务器所有活跃线程以获取 threadId.

Q6:审核操作默认为什么是关闭的?

timeout/kick/ban 具有破坏性,默认关闭以防误操作。需要时在配置显式开启 discord.actions.moderation,并确保机器人持有 MODERATE_MEMBERS(禁言)、KICK_MEMBERSBAN_MEMBERS 权限及高于目标成员的角色层级.

限制条件

  • 所有操作依赖为 配置的 bot token,未配置 token 时任何 action 都无法执行.
  • sendMessageto 与其他 action 的 channelId 格式不同,混用会直接报错.
  • 角色变更(roleAdd/roleRemove)与审核(timeout/kick/ban)默认关闭,需显式开启且机器人角色须高于目标.
  • 表情包 ≤256KB、贴纸 ≤512KB,超出需先压缩;动画表情/贴纸数量受服务器 Boost 等级约束.
  • 投票 durationHours 上限 768 小时(32 天),单次最多 10 个选项.
  • 消息搜索(searchMessages)依赖服务器开启该权限,部分大型服务器可能受限或延迟较高.
  • Discord 全局与按频道速率限制由平台强制,高频发送会被 429 限流,需自行节流.
  • markdown 表格在 Discord 渲染为原始 | 文本,通知类消息应改用列表或粗体.

运行环境

运行环境

  • Agent平台: 支持SKILL.md的任意AI Agent(Claude Code / Cursor / Codex / Gemini CLI等)
  • 操作系统: Windows / macOS / Linux

依赖项

依赖项类型是否必需获取方式
LLM APIAPI必需由Agent内置LLM提供

API Key 配置

需要配置对应API Key,详见上文环境配置章节

可用性分类

  • 分类: MD+EXEC()

API Key配置方式:

export API_KEY="${API_KEY:?请设置环境变量}"

配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.

创新特色

效率提升量化分析

操作步骤手动耗时自动化耗时时间节约准确率提升
消息批量发送30分钟/次5分钟/次25分钟/次100%
表情统计1小时/次10分钟/次50分钟/次100%
贴纸上传30分钟/次5分钟/次25分钟/次100%
投票创建15分钟/次3分钟/次12分钟/次100%
线程管理1小时/次10分钟/次50分钟/次100%

差异化对比

对比维度本技能手动操作Python脚本专业软件
功能全面性
操作便捷性
适应场景广泛有限有限有限
成本效益
扩展性

核心痛点解决

痛点描述影响范围解决方案量化效果
消息管理效率低手动管理大量消息耗时且易出错社区运营、团队协作自动化消息管理时间节约25分钟/次
表情统计困难手动统计表情使用情况耗时且不准确社区互动、表情包管理自动化表情统计准确率提升100%
贴纸管理复杂手动上传和管理贴纸耗时且难以维护社区文化、贴纸推广自动化贴纸管理时间节约25分钟/次

安全须知事项

  1. 确保bot token安全,避免泄露。
  2. 限制操作权限,仅授权必要的操作。
  3. 定期更新bot token,防止被滥用。
  4. 对敏感操作进行审核,防止误操作。
  5. 监控操作日志,及时发现异常行为。

安全风险防范

风险项等级防护措施验证方法
API密钥泄露通过环境变量配置,禁止硬编码定期检查代码和配置文件
命令执行风险仅执行白名单命令,避免拼接用户输入使用沙箱环境测试
网络通信安全使用HTTPS协议,验证SSL证书定期检查证书有效期
敏感数据暴露输出结果中不包含密钥、令牌等敏感信息日志脱敏审查
未授权访问限制访问权限,实施认证机制定期审计访问日志

异常修复

针对Discord 全能控制使用中可能遇到的常见问题,提供以下排查方案:

错误类型原因分析解决方案
API认证失败(401)API密钥错误或过期检查密钥配置,重新生成token
接口限流(429)请求频率超出限制降低调用频率,启用重试退避策略
响应超时(504)网络延迟或服务端负载过高增加超时阈值,检查网络连接
文件不存在路径错误或文件未创建检查路径拼写,确认文件已生成
文件格式不支持扩展名不在支持列表中转换为支持的格式后重试
权限不足当前用户无读写权限检查文件权限,以管理员身份运行
命令执行失败参数错误或环境依赖缺失检查命令语法,确认依赖已安装
进程超时命令执行时间过长增加超时设置,优化命令参数
网络连接失败DNS解析失败或防火墙拦截检查网络配置,确认代理设置

Discord 全能控制通用排查步骤

  1. 检查输入参数: 确认所有必填参数已提供且格式正确
  2. 查看日志输出: 定位具体错误行和异常类型
  3. 验证环境配置: 确认依赖库版本和运行环境满足要求
  4. 逐步调试: 缩小问题范围,隔离故障模块

典型场景

  • 自动化处理: 结合定时任务或CI/CD管道,实现批量自动化处理
  • 数据同步: 通过API实现跨平台数据同步和状态更新
  • 智能分析: 结合大模型实现内容理解和智能决策
  • 数据提取: 从非结构化文件中提取关键信息并结构化输出
  • 运维自动化: 自动执行系统命令并收集结果
  • 数据查询: 从大量数据中精准定位目标内容
  • 数据处理: 对结构化数据进行清洗、转换和分析

Security Scan

No security scan results are available right now.

Metadata

  • Owner: @thcjp
  • Created: 2026/08/22
  • Updated: 2026/08/22
  • Versions: 1
  • Comments: 0

Runtime

No runtime requirements are exposed in the official public payload.