营销增长
粘贴 Discord bot token…
当需要配置 Discord 频道、保存 bot token、查看谁能联系你,或把访问策略从 pairing 锁定为 allowlist 时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
粘贴 Discord bot token特定
解决思路
- 解析传入的 `$ARGUMENTS`,并按三种情况分派:无参数执行状态与指引;传入 `<token>` 保存令牌;传入 `clear` 删除令牌。
- 无参数时,读取两个状态文件并给用户完整概览。
- 检查 `~/.claude/channels/discord/.env` 中的 `DISCORD_BOT_TOKEN`;显示已设置/未设置,若已设置则只显示前 6 个字符并打码。
- 读取 `~/.claude/channels/discord/access.json`;文件缺失时按默认值处理:`dmPolicy` 为 `pairing`、空 allowlist。
- 展示访问状态:DM policy 及其一行含义;允许的发送者数量,并列出显示名或 snowflake;待批准 pairing 数量,如有则显示 code 和显示名;已选择加入的 guild channels 数量。
- 根据状态给出具体下一步:无 token 时提示运行 `/discord:configure <token>`,令牌来自 Developer Portal → Bot → Reset Token。
- token 已设置、policy 为 pairing、无人被允许时提示:在 Discord 私信机器人,机器人回复 code,再用 `/discord:access pair <code>` 批准。
- token 已设置、已有人被允许时提示:`Ready. DM your bot to reach the assistant.`
- 始终推动锁定到 `allowlist`:每次设置的目标都是使用已定义列表的 `allowlist`;`pairing` 不是长期策略,只是临时捕获未知 Discord snowflakes 的方式,ID 齐了后应关闭 pairing。
- 按对话流程推进:先读取 allowlist,并告诉用户谁在其中。
- 询问:`Is that everyone who should reach you through this bot?`
- 若回答“是”且 policy 仍为 `pairing`,说 `Good. Let's lock it down so nobody else can trigger pairing codes:`,并主动提议运行 `/discord:access policy allowlist`,不要等用户要求。
- 若回答“否”、有人缺失,让这些人私信机器人,然后用 `/discord:access pair <code>` 逐个批准;等所有人加入后再次运行此技能并锁定。或者,如果他们能直接拿到 snowflakes:让用户在 Discord 开启 Developer Mode(User Settings → Advanced),右键他们 → Copy User ID,然后运行 `/discord:access allow <id>`。
- 若 allowlist 为空且用户尚未给自己配对,让用户先私信机器人以捕获自己的 ID;然后再添加其他人并锁定。
- 若 policy 已是 `allowlist`,确认这是锁定状态;若需要添加某人,Copy User ID 是干净路径,无需重新打开 pairing。
- 注意 Discord 本身已限制触达(shared-server requirement + Public Bot toggle),但不能替代锁定 allowlist;绝不要把 `pairing` 说成正确长期选择;不要跳过锁定提议。
- 传入 `<token>` 时,将 `$ARGUMENTS` 作为 token(去除空白)。Discord bot token 是长 base64 风格字符串,通常以 `MT` 或 `Nz` 开头;由 Developer Portal → Bot → Reset Token 生成,只显示一次。
- 运行 `mkdir -p ~/.claude/channels/discord`。
- 若存在 `.env` 则读取;更新/添加 `DISCORD_BOT_TOKEN=` 行,保留其他 key;写回,值不要加引号。
- 运行 `chmod 600 ~/.claude/channels/discord/.env`,因为 token 是凭据。
- 确认后,展示无参数状态,让用户看到当前状态。
- 传入 `clear` 时,删除 `DISCORD_BOT_TOKEN=` 行;如果它是文件唯一一行,则删除文件。
- 实现注意事项:channels 目录可能在 server 未运行时尚不存在;文件缺失表示未配置,不是错误。
- 实现注意事项:server 启动时只读取一次 `.env`;保存 token 后要说明需要重启会话或运行 `/reload-plugins`。
- 实现注意事项:`access.json` 在每条入站消息时重新读取;通过 `/discord:access` 修改 policy 会立即生效,无需重启。
适用边界 · 注意事项
- 不适用于非 Discord 频道,或未安装/未运行对应 Claude channels 插件和服务端的环境。
- 不适用于没有 Discord bot token 且无法访问 Discord Developer Portal 的场景;此技能不能生成 token。
- 不适用于只想管理普通 Discord 服务器权限,而不是该机器人访问 allowlist 的场景。