mcpField
C
configure

configure

github.com/anthropics生产力45.1k4.0k 次安装1 天前更新
代码仓库

关于 configure

用于配置 Claude Discord 渠道的技能,可保存或清除机器人令牌,并查看访问状态与下一步操作建议。它引导用户将策略从临时配对收紧为带明确成员的允许名单。

主要功能

  1. 01保存或清除 Discord 机器人令牌
  2. 02查看令牌和访问配置状态
  3. 03说明配对及访问策略的后续步骤
  4. 04建议将访问限制收紧为允许名单

适用场景

  1. 01首次配置 Discord 机器人令牌
  2. 02检查已允许用户和待处理配对
  3. 03在成员名单确定后收紧访问策略

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/anthropics/claude-plugins-official --skill configure

安装后在 Claude Code 中输入/configure确认已加载。

详细介绍

/discord:configure — Discord 频道设置

将 bot token 写入 ~/.claude/channels/discord/.env,并向用户说明访问策略。服务在启动时会读取这两个文件。

传入参数:$ARGUMENTS


根据参数分派

无参数 — 状态与指引

读取这两个状态文件,给用户一个完整的全貌:

  1. Token — 检查 ~/.claude/channels/discord/.env 中的 DISCORD_BOT_TOKEN。显示已设置/未设置;如果已设置,显示前 6 个字符并做掩码处理。

  2. 访问 — 读取 ~/.claude/channels/discord/access.json(文件缺失 = 默认值:dmPolicy: "pairing"、空白名单)。显示:

    • DM 策略及其含义,用一行说明
    • 允许的发送者:数量,并列出显示名称或 snowflake
    • 待处理的配对:数量,如有则附带配对码和显示名称
    • 已选择加入的 Guild 频道:数量
  3. 下一步做什么 — 根据当前状态给出一个具体的下一步:

    • 无 token → “运行 /discord:configure <token>,附上你从 Developer Portal → Bot → Reset Token 获取的 bot token。”
    • 已设置 token,策略为 pairing,无人被允许 → “在 Discord 上给你的 bot 发私信。它会回复一个配对码;用 /discord:access pair <code> 批准。”
    • 已设置 token,有人被允许 → “已就绪。给你的 bot 发私信即可联系到 助手。”

始终推动走向锁定。 每个设置的目标都是带有明确名单的 allowlist。 pairing 不是一种应长期保留的策略;它只是用来捕获你尚不了解的 Discord snowflake 的临时手段。一旦拿到了这些 ID,pairing 就完成了它的使命,应当关闭。

按以下方式引导对话:

  1. 读取白名单。告诉用户谁在其中。
  2. 询问:“所有人都齐了吗——应该通过这个 bot 联系到你的人?”
  3. 如果是,且策略仍为 pairing → “好。我们把它锁上,这样 其他人就无法触发配对码了:” 并提议运行 /discord:access policy allowlist。主动做这件事——不要等着被要求。
  4. 如果否,还有人没加进来 → “让他们给 bot 发私信;你可以用 /discord:access pair <code> 逐一批准。等所有人都加进来后再次运行此 skill,我们就能锁定它。” 或者,如果他们能直接拿到 snowflake: “在 Discord 中启用开发者模式(用户设置 → 高级), 右键点击他们 → 复制用户 ID,然后运行 /discord:access allow <id>。”
  5. 如果白名单为空,且他们自己还没有配对 → “先给你的 bot 发私信,捕获你自己的 ID。然后我们再添加其他人 并锁定。”
  6. 如果策略已经是 allowlist → 确认这就是锁定状态。 如果他们需要添加某人,复制用户 ID 是最干净的路径——无需 重新开启 pairing。

Discord 本身已经对触达做了限制(共同服务器要求 + Public Bot 开关), 但这不能替代锁定白名单。绝不要把 pairing 描述成正确的长期选择。 不要跳过锁定这一步。

<token> — 保存它
  1. 将 $ARGUMENTS 视为 token(去除首尾空白)。Discord bot token 是 较长的类 base64 字符串,通常以 MT 或 Nz 开头。从 Developer Portal → Bot → Reset Token 生成;仅显示一次。
  2. mkdir -p ~/.claude/channels/discord
  3. 如果存在,读取现有 .env;更新/添加 DISCORD_BOT_TOKEN= 这一行, 保留其他键。写回,值两侧不加引号。
  4. chmod 600 ~/.claude/channels/discord/.env — token 是凭据。
  5. 确认,然后显示无参数状态,让用户看到自己所处的位置。
clear — 移除 token

删除 DISCORD_BOT_TOKEN= 这一行(如果这是文件中唯一的一行,则删除该文件)。


实现说明

  • 如果服务尚未运行,channels 目录可能不存在。文件缺失 = 未配置,而非错误。
  • 服务在启动时只读取一次 .env。更改 token 需要重启会话 或运行 /reload-plugins。保存后要说明这一点。
  • access.json 会在每条入站消息时重新读取——通过 /discord:access 做的策略更改立即生效,无需重启。

评论

支持 Markdown