4. 入口をつくる(Discord の Bot)¶
🤝 はじめる前に — 詰まったときに聞ける相手を作ります
この章は、チャットAI(ChatGPT・Claude など)をサポート役に付けてから始めてください。 詰まったときに、画面のスクリーンショットを貼るだけで、どこで止まっているかを見てくれます。
| やること | |
|---|---|
| 1 | 📄 support_04_discord.txt を開く(リンクを右クリック →「名前を付けて保存」でも構いません) |
| 2 | ChatGPT か Claude で、新しい会話を1つ開く |
| 3 | そのファイルを添付する。添付が面倒なら、開いた画面を Ctrl+A → Ctrl+C で全部コピーして貼るでも同じです |
| 4 | 送ると、この工程で何をするのかを3行で返してきます |
| 5 | その会話は開いたままにして、この章を進める。詰まったらスクリーンショットを貼る |
🔴 トークン・パスワード・鍵は、チャットに貼らないでください。 スクリーンショットに写り込むことがあります。送る前に、画面にそれらが出ていないか見てください。 貼ってしまっても、どれも作り直せます。慌てず、作り直してください。
📋 そのファイルに何が書いてあるか(ここで中身を確認できます)
# 【サポート依頼】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["① アカウントと<br>サーバ"] --> B["② アプリ"]
B --> C["③ トークン<br>一度しか見えない"]
C --> D["④ MESSAGE CONTENT<br>INTENT をON"]
D --> E["⑤ Botを招待"]
E --> F["⑥ 2つのID"]
```
## ① Discord のアカウント、サーバ、チャンネル
<https://discord.com/> でアカウントを作ります。左側の `+` から「サーバを追加」→「オリジナルの作成」→「自分と友達のため」と進みます。分かりやすいサーバ名とチャンネル名を付け、[2章の表](./02_values.md)に書きます。
## ② アプリを作る
<https://discord.com/developers/applications> を開きます。右上の「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) です。
この章はミニPCが無くてもできます。Windows PC のブラウザと Discord を使います。
すでに Slack を仕事で使っているなら → 4b. 入口を Slack にする場合
入口はどちらか片方だけでよく、両方は要りません。 相手が日常で使っているものに合わせるのが原則です。この章は Discord の手順です。
flowchart LR
A["① アカウントと<br>サーバ"] --> B["② アプリ"]
B --> C["③ トークン<br>一度しか見えない"]
C --> D["④ MESSAGE CONTENT<br>INTENT をON"]
D --> E["⑤ Botを招待"]
E --> F["⑥ 2つのID"]
① Discord のアカウント、サーバ、チャンネル¶
https://discord.com/ でアカウントを作ります。左側の + から「サーバを追加」→「オリジナルの作成」→「自分と友達のため」と進みます。分かりやすいサーバ名とチャンネル名を付け、2章の表に書きます。
② アプリを作る¶
https://discord.com/developers/applications を開きます。右上の「New Application」を押します。名前を入れ、規約にチェックし、「Create」を押します。
③ Bot トークンを取り出す¶
左の「Bot」を開きます。「Reset Token」→「Yes, do it!」→「Copy」と進みます。
トークンは一度しか見えません
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 とつながるとオンラインになります。
後から権限を足した場合は、もう一度認可します
URL Generator でチェックを入れただけでは、すでに入っている Bot の権限は変わりません。生成した URL を開き、もう一度認可します。または、サーバ設定の Bot ロールか、対象チャンネルの権限へ直接反映します。
⑥ ユーザーIDとチャンネルID¶
Discord の歯車から「ユーザー設定」→「詳細設定」→「開発者モード」を ON にします。
| 取る値 | 操作 |
|---|---|
| 自分のユーザーID | 自分の名前を右クリック。スマホは長押し。「ユーザーIDをコピー」 |
| チャンネルID | 対象チャンネルを右クリック。「チャンネルIDをコピー」 |
どちらも18〜19桁の数字です。2章の表に書きます。ユーザー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 インストーラをつくる です。