# 【サポート依頼】4. 入口をつくる(Discord の Bot) あなたは、これから下の手順を**自分の手で通す人**のサポート役です。 相手は Linux もサーバも初めてで、手元の PC は Windows です。 ## 守ってほしいこと 1. 相手は下の手順書を**上から順に**やっています。**先回りして別のやり方を勧めないでください。** どうしても別の手が要ると判断したときは、**そう判断した理由を1行**添えてください。 2. 詰まった画面のスクリーンショットや、エラーの文言が送られてきます。 **まず「下の手順書のどこで止まっているか」を特定**してから答えてください。 3. **一度に1つだけ**指示してください。結果を聞いてから次に進みます。 4. 専門用語は、初めて出たときに**かっこ書きで言い換え**を付けてください。 5. 分からないことは「**分かりません**」と答えてください。**推測でコマンドを出さないでください。** 6. この工程の「**終わりの印**」が出るまでは、次の工程の話をしないでください。 ## 絶対にしないこと - **Discord の Bot トークン・パスワード・SSH の秘密鍵**を、送るよう求めないでください。 - 相手がうっかり貼ってしまったら、**その場で作り直すよう伝えてください**(どれも作り直せます)。 ## 最初にお願いすること この工程で何をするのかを、**3行**で教えてください。 そのあと、私が「はじめます」と言ったら、**最初の1手だけ**を教えてください。 --- # 手順書(この工程の全文) # 4. 入口をつくる(Discord の Bot) この章はミニPCが無くてもできます。Windows PC のブラウザと Discord を使います。 !!! tip "すでに Slack を仕事で使っているなら → [4b. 入口を Slack にする場合](04b_slack.md)" 入口は**どちらか片方だけ**でよく、両方は要りません。 **相手が日常で使っているもの**に合わせるのが原則です。この章は Discord の手順です。 ```mermaid flowchart LR A["① アカウントと
サーバ"] --> B["② アプリ"] B --> C["③ トークン
一度しか見えない"] C --> D["④ MESSAGE CONTENT
INTENT をON"] D --> E["⑤ Botを招待"] E --> F["⑥ 2つのID"] ``` ## ① Discord のアカウント、サーバ、チャンネル でアカウントを作ります。左側の `+` から「サーバを追加」→「オリジナルの作成」→「自分と友達のため」と進みます。分かりやすいサーバ名とチャンネル名を付け、[2章の表](02_values.md)に書きます。 ## ② アプリを作る を開きます。右上の「New Application」を押します。名前を入れ、規約にチェックし、「Create」を押します。 ## ③ Bot トークンを取り出す 左の「Bot」を開きます。「Reset Token」→「Yes, do it!」→「Copy」と進みます。 !!! danger "トークンは一度しか見えません" Windows のメモ帳に一時的に貼ります。チャット、メール、Wiki、2章の表には貼りません。9章でサーバの `.env` に入れたら、メモ帳から消します。忘れた場合は Reset Token で再発行でき、古いものは無効になります。 ## ④ MESSAGE CONTENT INTENT を ON 同じ Bot 画面の「Privileged Gateway Intents」まで下へ動かします。 | 項目 | 設定 | |---|---| | Presence Intent(プレゼンス。オンライン状態) | 任意 | | Server Members Intent(サーバメンバー情報) | 任意 | | **Message Content Intent(メッセージ本文)** | **ON(必須)** | 最後に「Save Changes」を押します。ここが OFF だと、Bot はオンラインでもメッセージの中身を読めず、返事をしません。もっとも多いつまずきです。 ## ⑤ Bot をサーバに招待 左の「OAuth2」→「OAuth2 URL Generator」を開きます。 SCOPES(機能の範囲)は2つ選びます。 | 英語表示 | 日本語での意味 | |---|---| | `bot` | Bot をサーバに追加します | | `applications.commands` | スラッシュコマンドを使えるようにします | BOT PERMISSIONS(Bot の権限)は8つ選びます。 | # | 日本語表示 | 英語表示 | なぜ要るか | |---:|---|---|---| | 1 | チャンネルを見る | View Channels | これが無いとチャンネルが見えないためです | | 2 | メッセージを送る | Send Messages | 返事をするためです | | 3 | **Threadsでメッセージを送る** | **Send Messages in Threads** | スレッドを1件の仕事として使うためです | | 4 | **スレッドを管理** | **Manage Threads** | スレッド内の `Close` ボタンで、押した人を退出させるためです | | 5 | メッセージ履歴を読む | Read Message History | 前の会話を踏まえて答えるためです | | 6 | ファイルを添付 | Attach Files | 作った資料や画像を返すためです | | 7 | **リアクションを付ける** | **Add Reactions** | 受け取った合図を絵文字で返すためです | | 8 | **スラッシュコマンドを使用** | **Use Slash Commands** | `/` で始まるコマンドを使うためです | 下に出る「GENERATED URL」をコピーしてブラウザで開きます。①のサーバを選び、認証します。メンバー一覧に Bot が出れば成功です。まだオフラインで正常です。9章で xangi とつながるとオンラインになります。 !!! warning "後から権限を足した場合は、もう一度認可します" URL Generator でチェックを入れただけでは、すでに入っている Bot の権限は変わりません。生成した URL を開き、もう一度認可します。または、サーバ設定の Bot ロールか、対象チャンネルの権限へ直接反映します。 ## ⑥ ユーザーIDとチャンネルID Discord の歯車から「ユーザー設定」→「詳細設定」→「開発者モード」を ON にします。 | 取る値 | 操作 | |---|---| | 自分のユーザーID | 自分の名前を右クリック。スマホは長押し。「ユーザーIDをコピー」 | | チャンネルID | 対象チャンネルを右クリック。「チャンネルIDをコピー」 | どちらも18〜19桁の数字です。[2章の表](02_values.md)に書きます。ユーザーIDは、誰の指示を受けるかを制限するために必要です。 ## 手元に残る4つ | # | 名前 | 置き場所 | |---:|---|---| | 1 | Bot トークン | Windows メモ帳へ一時保存。最終的には `.env` だけ | | 2 | 自分のユーザーID | 2章の表 | | 3 | チャンネルID | 2章の表 | | 4 | サーバ名・チャンネル名 | 2章の表 | ## ✅ ここまで出来たら Bot がサーバのメンバー一覧に現れ、上の4つがそろえば合格です。Bot はオフラインのままで構いません。 ## 詰まったら | 症状 | まず見るところ | |---|---| | Bot はオンラインなのに無反応 | MESSAGE CONTENT INTENT が ON か確認します | | 後から権限を足したのに反応しない | 生成した招待 URL で、もう一度認可したか確認します | | IDをコピーする項目がない | 開発者モードが ON か確認します | | トークンを忘れた | Reset Token で再発行します。古いトークンは無効です | 次は [5. USB インストーラをつくる](05_usb.md) です。