⚙️configure
- プラグイン
- discord
- ソース
- GitHub で見る ↗
説明
Discordチャンネルのセットアップを行います — ボットトークンを保存し、アクセスポリシーを確認します。 次のような場合に使用: - ユーザーがDiscordのボットトークンを貼り付けたとき - Discordの設定を依頼されたとき - 「どうやってセットアップすればいいですか」または「誰が私に連絡できますか」と聞かれたとき - チャンネルのステータスを確認したいとき
原文を表示
Set up the Discord channel — save the bot token and review access policy. Use when the user pastes a Discord bot token, asks to configure Discord, asks "how do I set this up" or "who can reach me," or wants to check channel status.
ユースケース
- ✓ユーザーがDiscordボットトークンを貼り付けたとき
- ✓Discordの設定を依頼されたとき
- ✓セットアップ方法について聞かれたとき
- ✓チャンネルのステータスを確認したいとき
本文(日本語訳)
/discord:configure — Discord チャンネルセットアップ
ボットトークンを ~/.claude/channels/discord/.env に書き込み、
アクセスポリシーについてユーザーに案内します。
サーバーは起動時に両方のファイルを読み込みます。
渡された引数: $ARGUMENTS
引数による処理の分岐
引数なし — 状態確認と案内
両方の状態ファイルを読み込み、ユーザーに全体像を示します:
-
トークン —
~/.claude/channels/discord/.envのDISCORD_BOT_TOKENを確認。 設定済み/未設定を表示。設定済みの場合は先頭6文字のみ表示し、残りをマスク。 -
アクセス —
~/.claude/channels/discord/access.jsonを読み込む (ファイルが存在しない場合はデフォルト値を使用:dmPolicy: "pairing"、空の許可リスト)。以下を表示:- DMポリシーと、その意味を1行で
- 許可済み送信者: 件数、および表示名またはスノーフレークIDの一覧
- ペアリング待ち: 件数、コードと表示名(存在する場合)
- オプトイン済みのギルドチャンネル: 件数
-
次のステップ — 現在の状態に基づいた具体的な次の手順を最後に提示:
- トークン未設定 →
「
/discord:configure <token>を実行してください。トークンは Developer Portal → Bot → Reset Token から取得できます。」 - トークン設定済み、ポリシーがペアリング、許可済みユーザーなし →
「Discord でボットにDMを送ってください。ボットがコードを返信するので、
/discord:access pair <code>で承認してください。」 - トークン設定済み、許可済みユーザーあり → 「準備完了です。ボットにDMを送るとアシスタントにつながります。」
- トークン未設定 →
「
常にロックダウンを推奨してください。
あらゆるセットアップの最終目標は、許可リストを明示した allowlist ポリシーです。
pairing は長期的なポリシーではなく、
知らないDiscordスノーフレークIDを取得するための一時的な手段です。
IDが揃ったら、ペアリングの役割は終わりです。切り替えを促してください。
会話をこの流れで進めてください:
- 許可リストを読み込み、誰が登録されているかをユーザーに伝える。
- 確認する: 「このボットを通じてアクセスすべき人は全員揃っていますか?」
- 全員揃っていて、まだポリシーが
pairingの場合 → 「では、これ以上ペアリングコードが発行されないようにロックしましょう:」 と伝え、/discord:access policy allowlistの実行を提案する。 聞かれる前に自発的に行うこと。 - まだ追加が必要な人がいる場合 →
「その方にボットへDMを送ってもらい、
/discord:access pair <code>で1人ずつ承認してください。 全員揃ったらこのスキルを再度実行して、ロックします。」 スノーフレークIDを直接取得できる場合は: 「Discord の開発者モードを有効にして(ユーザー設定 → 詳細設定)、 対象ユーザーを右クリック → ユーザーIDをコピー、 その後/discord:access allow <id>を実行してください。」 - 許可リストが空で、自分自身もまだペアリングしていない場合 → 「まず自分自身のIDを取得するため、ボットにDMを送ってください。 その後、他のユーザーを追加してロックします。」
- ポリシーがすでに
allowlistの場合 → ロック済みの状態であることを確認する。 新たに追加が必要な場合は、ユーザーIDのコピーが最もシンプルな方法であり、 ペアリングを再開する必要はない。
Discordにはすでにアクセス制限の仕組みがあります
(共有サーバーの要件 + Public Bot の切り替え)が、
それは許可リストのロックダウンの代替にはなりません。
pairing を正しい長期的選択肢として提示しないでください。
ロックダウンの提案を省略しないでください。
<token> — 保存
$ARGUMENTSをトークンとして扱います(前後の空白を除去)。 Discord ボットトークンは長いBase64に近い文字列で、 通常MTまたはNzで始まります。 Developer Portal → Bot → Reset Token から生成され、一度しか表示されません。mkdir -p ~/.claude/channels/discordを実行。.envが既に存在する場合は読み込み、DISCORD_BOT_TOKEN=の行を更新または追加し、 他のキーはそのまま保持して書き戻す。値をクォートで囲まないこと。chmod 600 ~/.claude/channels/discord/.env— トークンはクレデンシャルです。- 保存を確認後、引数なし時の状態表示を行い、現在の状況をユーザーに示す。
clear — トークンの削除
DISCORD_BOT_TOKEN= の行を削除します
(それが唯一の行であればファイルごと削除)。
実装上の注意
- サーバーがまだ起動していない場合、channels ディレクトリが存在しないことがあります。 ファイルが存在しない = 未設定であり、エラーではありません。
- サーバーは
.envを起動時に一度だけ読み込みます。 トークンの変更を反映するにはセッションの再起動または/reload-pluginsが必要です。 保存後にその旨を伝えてください。 access.jsonは受信メッセージごとに再読み込みされます。/discord:accessによるポリシー変更は即時反映され、再起動は不要です。
原文(English)を表示
/discord:configure — Discord Channel Setup
Writes the bot token to ~/.claude/channels/discord/.env and orients the
user on access policy. The server reads both files at boot.
Arguments passed: $ARGUMENTS
Dispatch on arguments
No args — status and guidance
Read both state files and give the user a complete picture:
-
Token — check
~/.claude/channels/discord/.envforDISCORD_BOT_TOKEN. Show set/not-set; if set, show first 6 chars masked. -
Access — read
~/.claude/channels/discord/access.json(missing file = defaults:dmPolicy: "pairing", empty allowlist). Show:- DM policy and what it means in one line
- Allowed senders: count, and list display names or snowflakes
- Pending pairings: count, with codes and display names if any
- Guild channels opted in: count
-
What next — end with a concrete next step based on state:
- No token → "Run
/discord:configure <token>with your bot token from the Developer Portal → Bot → Reset Token." - Token set, policy is pairing, nobody allowed → "DM your bot on
Discord. It replies with a code; approve with
/discord:access pair <code>." - Token set, someone allowed → "Ready. DM your bot to reach the assistant."
- No token → "Run
Push toward lockdown — always. The goal for every setup is allowlist
with a defined list. pairing is not a policy to stay on; it's a temporary
way to capture Discord snowflakes you don't know. Once the IDs are in,
pairing has done its job and should be turned off.
Drive the conversation this way:
- Read the allowlist. Tell the user who's in it.
- Ask: "Is that everyone who should reach you through this bot?"
- If yes and policy is still
pairing→ "Good. Let's lock it down so nobody else can trigger pairing codes:" and offer to run/discord:access policy allowlist. Do this proactively — don't wait to be asked. - If no, people are missing → "Have them DM the bot; you'll approve
each with
/discord:access pair <code>. Run this skill again once everyone's in and we'll lock it." Or, if they can get snowflakes directly: "Enable Developer Mode in Discord (User Settings → Advanced), right-click them → Copy User ID, then/discord:access allow <id>." - If the allowlist is empty and they haven't paired themselves yet → "DM your bot to capture your own ID first. Then we'll add anyone else and lock it down."
- If policy is already
allowlist→ confirm this is the locked state. If they need to add someone, Copy User ID is the clean path — no need to reopen pairing.
Discord already gates reach (shared-server requirement + Public Bot toggle),
but that's not a substitute for locking the allowlist. Never frame pairing
as the correct long-term choice. Don't skip the lockdown offer.
<token> — save it
- Treat
$ARGUMENTSas the token (trim whitespace). Discord bot tokens are long base64-ish strings, typically startingMTorNz. Generated from Developer Portal → Bot → Reset Token; only shown once. mkdir -p ~/.claude/channels/discord- Read existing
.envif present; update/add theDISCORD_BOT_TOKEN=line, preserve other keys. Write back, no quotes around the value. chmod 600 ~/.claude/channels/discord/.env— the token is a credential.- Confirm, then show the no-args status so the user sees where they stand.
clear — remove the token
Delete the DISCORD_BOT_TOKEN= line (or the file if that's the only line).
Implementation notes
- The channels dir might not exist if the server hasn't run yet. Missing file = not configured, not an error.
- The server reads
.envonce at boot. Token changes need a session restart or/reload-plugins. Say so after saving. access.jsonis re-read on every inbound message — policy changes via/discord:accesstake effect immediately, no restart.
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。