Discord自动化操作技能:让 AI 代你在 Discord 里发消息、发投票、管频道
先给结论,帮你 30 秒判断这个技能值不值得装:
- 它是什么:一个把 Discord 常用操作封装成「一句话指令」的 AI 技能,通过 Otto 的 discord 工具调用,覆盖发消息、加反应、发贴纸、跑投票、管理线程/置顶/搜索、管频道、查成员角色等一整套动作。
- 核心优势:不用写机器人的一行代码,也不用记 Discord API 的细节,用结构化的 JSON 参数就能完成操作;同时提供「操作门控」,危险动作(角色变更、频道增删、管理处罚)默认关闭。
- 安装门槛:需要在 Otto 侧完成
channels.discord配置并绑定机器人令牌,属于「配置一次、长期复用」的类型,具体一键安装入口以官方说明为准。 - 最适合谁:Discord 社区运营、开源项目维护者、需要在群里做发布通知/值班协作的研发团队。
- 注意事项:
sendMessage用的是to: "channel:<id>"而不是channelId,这是新手最容易踩的坑,后文有专门说明。
1. 该技能叫什么?如何下载安装 AI 技能提升开发效率?
基本信息
| 项目 | 内容 |
|---|---|
| 中文名 | Discord自动化操作技能 |
| 英文名 | discord |
| 技能 ID | 13595 |
| 依赖配置 | channels.discord |
| 底层身份 | 使用为 Otto 配置的机器人令牌执行操作 |
它解决什么问题?
Discord 是海外社区、开源项目、游戏公会和远程团队的高频沟通阵地。但日常操作其实很琐碎:给消息加个 ✅ 表示已处理、发个投票决定下次会议时间、把讨论串整理成线程、查一下某个成员的角色、临时建个发布频道。要么人工点鼠标,要么自己写一个机器人程序去调 API——前者效率低,后者成本高。
这个技能把上述操作统一收敛成一个「动作(action) + 参数」的调用模型,AI 理解你的自然语言意图后,输出对应参数即可执行,运维和运营的人力被省下来。
安装前提
- 你的环境是基于 Otto 的 AI 技能运行环境(该技能元数据中标注了 Otto 的配置要求)。
- 需要完成
channels.discord配置,即为 Otto 提供可用的 Discord 机器人令牌。 - 该机器人必须已被邀请进入目标服务器,并在你需要操作的频道上拥有对应权限(例如发送消息、管理线程、管理频道等)。权限不足时,可以先用技能里的
permissions动作自查。
安装步骤(通用流程)
- 找到技能入口:在技能市场或技能列表中检索技能 ID
13595或英文名discord。 - 一键添加:点击安装/添加按钮,把技能挂载到你的 Otto 环境。具体的安装命令、技能包下载地址与版本号,以官方说明为准。
- 填写配置:按提示完成
channels.discord相关配置,填入机器人令牌等信息。 - 检查门控开关:技能默认启用大部分操作组,但
roles、channels、moderation、presence默认是关闭的。若你需要它管理频道或改机器人状态,需要显式打开对应的discord.actions.*开关。 - 验证是否生效:让它执行一个只读动作,例如对某个频道调用
permissions查询机器人权限,或readMessages读取最近 20 条消息。能正常返回结果,说明令牌与权限链路已经打通。
一句话理解「一键安装提升效率」的思路:把「写代码调 API」换成「配置一次 + 自然语言下指令」,把重复的社群运维动作变成可复用的技能能力。
2. 该技能的主要功能和特点
消息类能力
sendMessage:向频道或私信发送文本,支持通过mediaUrl附带本地文件(file:///path)或远程资源(https://...),还能用replyTo指定回复某条消息。readMessages:按channelId读取最近的若干条消息,适合做消息回溯与上下文汇总。fetchMessage:既可以传guildId + channelId + messageId,也可以直接丢一个完整消息链接https://discord.com/channels/<guildId>/<channelId>/<messageId>。editMessage/deleteMessage:改错别字、撤回误发内容。
互动类能力
react:给指定消息添加 emoji 反应,比如用 ✅ / ⚠️ 标记状态。reactions:列出某条消息上的反应及投票用户,可限制返回数量。sticker:发送贴纸,单条消息最多 3 个贴纸 ID,也支持发到私信。poll:创建投票,需要 1 个问题 + 2~10 个答案,支持多选,时长默认 24 小时、最长 32 天(768 小时)。
资源上传能力
emojiUpload:上传自定义表情符号,限 PNG/JPG/GIF 且 ≤256KB,可通过roleIds限定可用角色。stickerUpload:上传贴纸,必须提供name、description、tags,限 PNG/APNG/Lottie JSON 且 ≤512KB。emojiList:列出现有自定义表情符号,避免重复上传。
组织与检索能力
- 线程:
threadCreate(可基于某条消息开线程)、threadList、threadReply。 - 置顶:
pinMessage、listPins。 - 搜索:
searchMessages,可按内容关键词 + 指定频道列表 + 数量上限检索。
信息查询能力
memberInfo、roleInfo、channelInfo、channelList、voiceStatus、eventList、permissions——查人、查角色、查频道、查语音状态、查计划事件、查机器人自身权限。
管理与配置能力(默认关闭,需显式开启)
- 角色:
roleAdd等(discord.actions.roles)。 - 频道与类别:
channelCreate、channelEdit、channelMove、channelDelete、categoryCreate、categoryEdit、categoryDelete(discord.actions.channels),支持type频道类型(0 文本、2 语音、4 类别)、parentId归类、topic、position、nsfw、rateLimitPerUser等参数。 - 管理:
timeout等处罚动作(discord.actions.moderation)。 - 机器人状态:
setPresence(discord.actions.presence),支持 playing / streaming / listening / watching / competing / custom 六种活动类型与 online / dnd / idle / invisible 四种在线状态。
差异化特点
- 操作门控(Action Gating)设计:可按组关闭能力,例如关掉
stickers、polls就不允许发贴纸和投票。这让「给运营同学开放发消息 + 投票,但不给管理权限」成为可能。 - 默认安全:角色、频道、管理、状态四类高危动作默认
false,必须手动打开,降低误操作风险。 - 内置 Discord 写作风格指南:明确要求短句、小写随意风、用 emoji 表达情绪,避免 Markdown 表格和
##标题(Discord 会渲染成丑陋的原始文本),这比单纯「能发消息」的工具更懂平台调性。 - 参数容错友好:消息上下文里自带的
discord message id和channel字段可以直接复用,减少来回复制 ID 的成本。
3. 如何使用该技能?
第 1 步:准备 ID 信息
任何操作都离不开几个基础 ID:guildId(服务器)、channelId(频道)、messageId(消息)、userId(成员)、roleId(角色)。这些都可以从 Discord 客户端复制,或从消息上下文行中直接取得。
第 2 步:用最常用的三个动作热身
发消息(注意 to 的写法):
{
"action": "sendMessage",
"to": "channel:123",
"content": "Otto发来问候"
}
带附件:
{
"action": "sendMessage",
"to": "channel:123",
"content": "看看这个音频!",
"mediaUrl": "file:///tmp/audio.mp3"
}
加反应:
{
"action": "react",
"channelId": "123",
"messageId": "456",
"emoji": "✅"
}
第 3 步:跑一个投票
{
"action": "poll",
"to": "channel:123",
"question": "午餐吃什么?",
"answers": ["披萨", "寿司", "沙拉"],
"allowMultiselect": false,
"durationHours": 24,
"content": "现在投票"
}
答案数量必须在 2~10 之间;durationHours 不填默认 24 小时,最长 768 小时。
第 4 步:做信息查询与治理
{
"action": "searchMessages",
"guildId": "999",
"content": "发布说明",
"channelIds": ["123", "456"],
"limit": 10
}
{
"action": "permissions",
"channelId": "123"
}
第 5 步:需要时再开启高危动作
例如要创建频道,先确保 discord.actions.channels: true,再执行:
{
"action": "channelCreate",
"guildId": "999",
"name": "general-chat",
"type": 0,
"parentId": "888",
"topic": "一般讨论"
}
第 6 步:设置机器人状态(需开启 presence)
{
"action": "setPresence",
"activityType": "playing",
"activityName": "with fire"
}
侧栏会显示「with fire」。如果只想改在线状态、不带活动,传 "status": "dnd" 即可。
输出说明:动作执行后返回操作结果;查询类动作返回对应信息(如消息列表、成员资料、频道属性、权限检查结果)。你可以在对话里直接要求「读一下这个频道最近 20 条消息并总结」,由 AI 组装参数并调用。
4. 同类型竞品对比分析
| 方案名称 | 定位 | 核心功能 | 安装/使用门槛 | 适用场景 | 优势与不足 |
|---|---|---|---|---|---|
| discord(本技能) | AI 驱动的 Discord 操作技能 | 消息、反应、贴纸、投票、线程、置顶、搜索、频道/类别管理、成员与角色查询、机器人状态 | 需完成 channels.discord 配置与机器人令牌,配置一次后以自然语言下指令 |
社群运营、团队协作通知、活动投票、服务器治理 | 优势:开箱即用、动作门控安全、懂 Discord 平台写作风格;不足:能力受限于技能已封装的动作集合 |
| 自建机器人(如基于官方 API 自行开发) | 完全自定义开发路线 | 理论上可覆盖所有 Discord 能力 | 门槛最高,需开发、部署、托管与长期维护 | 有特殊业务逻辑、需深度定制的团队 | 优势:灵活度最高;不足:开发与运维成本高,小需求不划算 |
| Discord 客户端手动操作 | 人工原生方式 | 全部功能,但全靠点击 | 零门槛 | 偶发操作、少量互动 | 优势:无需任何配置;不足:重复工作耗时、易漏、无法批量与自动化 |
| 通用自动化平台 + Webhook | 低代码自动化编排 | 多以「发消息」为主,复杂治理能力弱 | 中等,需理解触发器与流程编排 | 简单的通知推送、跨平台联动 | 优势:能串联多系统;不足:投票、线程、频道管理等原生操作支持有限 |
选型建议:如果你只是要把 Discord 的日常操作自动化、又不想写代码,本技能最省事;如果有非常特殊的业务逻辑,自建机器人仍然不可替代;如果只是偶尔发通知,手动操作或通用自动化平台就够。
5. 该技能的典型应用场景与实际体验情况
场景一:社区运营的日常互动
- 角色:社区运营。
- 痛点:每天要在多个频道做「已读」「已处理」标记,手动点表情重复且枯燥。
- 用法:让 AI 对指定消息
react打 ✅ / ⚠️,再用reactions列出谁参与了反馈。 - 实际体验:上手极低,参数简单,几乎零学习成本。注意
emoji必须是频道可用的表情,自定义表情需先确认服务器里存在。
场景二:研发团队的发布通知与值班协作
- 角色:后端/运维工程师。
- 痛点:部署完成后要在群里发通知、附带日志或录音文件,还要把讨论整理成线程。
- 用法:
sendMessage+mediaUrl发通知和附件,replyTo挂到原消息下;讨论变多时用threadCreate基于该消息开线程,再用threadReply在串内回复。 - 实际体验:这是最能体现效率提升的场景。
mediaUrl同时支持本地file:///和远程https://,省去手动上传。注意threadCreate用的仍是channelId字段,而sendMessage用的是to,两者不要混。
场景三:活动策划与快速决策
- 角色:社区管理员 / 活动组织者。
- 痛点:定会议时间、定发布时间、定活动方案,来回刷屏。
- 用法:
poll发起投票,allowMultiselect控制是否多选,durationHours控制时长。 - 实际体验:一个动作解决问题,比人工数票快很多。注意答案数量上限 10 个、时长上限 32 天,超出会被拒绝。
场景四:服务器治理与频道整理
- 角色:服务器管理员。
- 痛点:项目变更时需要新建分类、批量归档旧频道、调整顺序。
- 用法:开启
discord.actions.channels后,用categoryCreate建分类、channelCreate建频道并指定parentId、channelMove调整位置、channelEdit改主题。 - 实际体验:效率最高,但风险也最高。建议先在一个测试服务器上演练,确认
parentId与position的效果后再动正式环境;同时把channels门控保持默认关闭,只在需要时临时打开。
整体体验小结:只读类与互动类动作几乎「零门槛」,写操作也能一次成功;真正的门槛在「ID 从哪来」和「用哪个字段名」——把这两点理顺,后续都很顺。
6. 该技能能为用户带来的价值
效率层面:把「打开客户端、找频道、找消息、点按钮」的多步人工流程压成一次调用。发消息、加反应、发投票、开线程这类高频动作,每个动作省下的几十秒在一天内会累积成可观的时间回收。
门槛层面:不需要掌握 Discord API、不需要写机器人代码、不需要处理网关与事件订阅,非技术角色的运营同学也能独立完成过去只有开发者才能做的自动化。
安全层面:操作门控让权限可以「按组下发」。默认关闭角色、频道、管理与状态四类高危动作,把「误删频道」「误踢成员」的风险挡在默认配置之外。
长期价值:技能是可持续复用的资产。一旦配置完 channels.discord,同一套能力可以反复用于每周例会投票、版本发布通知、社区表情包上新等周期性任务,形成稳定的自动化节奏。
7. 常见问题 FAQ
Q1:怎么安装这个技能?需要准备什么?
在技能列表中检索技能 ID 13595 或英文名 discord,添加后在 Otto 环境完成 channels.discord 配置并提供机器人令牌,最后把机器人邀请进目标服务器并授予相应权限。具体安装入口与命令以官方说明为准。
Q2:为什么发消息一直失败?我明明填了 channelId。
这是最常见的坑:sendMessage 用的是 to: "channel:<id>" 或 to: "user:<id>"(私信),不是 channelId。而 react、readMessages、editMessage、deleteMessage 等动作才直接使用 channelId。改成 to 格式即可。
Q3:收费吗? 技能的收费与计费方式取决于所在技能平台与官方说明,本文不对价格作任何承诺,请以官方页面标注为准。
Q4:上传表情或贴纸总是被拒,是什么原因?
检查文件规格:表情符号必须为 PNG/JPG/GIF 且不大于 256KB;贴纸必须为 PNG/APNG/Lottie JSON 且不大于 512KB,并且必须提供 name、description、tags 三个字段。超出限制会被直接拒绝。
Q5:为什么让它删频道、改角色、设状态都没反应?
roles(角色增删)、channels(频道/类别增删改移)、moderation(超时/踢出/封禁)、presence(机器人状态)四类动作默认是关闭的。需要在配置中把对应的 discord.actions.* 设为 true 后才会生效,这是刻意的安全设计。
Q6:它适合谁用?和自建机器人怎么选? 适合社群运营、开源项目维护者、需要自动化通知的研发团队。如果你只需要「发消息、投票、开线程、查信息、做基础治理」,本技能明显更省事;如果业务逻辑非常特殊、需要技能未覆盖的动作,再考虑自建机器人。