【完全ガイド】Clawdbot を Discord から操作できるようにする設定手順
はじめに
この記事では、AI アシスタント「Clawdbot」を Discord と連携させ、Discord のチャンネルから AI に話しかけられるようにする手順を解説します。
実際に設定作業を行いながら試行錯誤した内容をまとめたので、つまずきやすいポイントも含めて紹介します。
この記事でできるようになること
- ✅ Discord から
@ボット名 質問で AI に話しかけられる - ✅ Clawdbot から Discord にメッセージを送信できる
- ✅ スマホの Discord アプリからも操作可能
目次
- 必要なもの
- Step 1: Discord Developer Portal でボットを作成
- Step 2: ボットをサーバーに招待
- Step 3: Clawdbot の設定
- Step 4: Gateway の再起動と動作確認
- トラブルシューティング
- まとめ
(以下は、Discordからnano-banana proを呼び出し画像生成した例)
必要なもの
- Discord アカウント
- 自分が管理者権限を持つ Discord サーバー(なければ新規作成)
- Clawdbot がインストールされた環境
- ブラウザ(Discord Developer Portal にアクセス用)
Step 1: Discord Developer Portal でボットを作成
1.1 Developer Portal にアクセス
https://discord.com/developers/applications にアクセスし、Discord アカウントでログインします。
1.2 新しいアプリケーションを作成
- 右上の 「New Application」 をクリック
- アプリケーション名を入力(例:
MoltApp、MyBotなど) - 利用規約に同意して 「Create」 をクリック
1.3 ボットトークンを取得
- 左メニューの 「Bot」 をクリック
- 「Reset Token」 をクリックしてトークンを生成
- トークンをコピーして安全な場所に保存
⚠️ トークンは一度しか表示されません!必ずコピーして保存してください。
1.4 Privileged Gateway Intents を有効化(超重要!)
Bot ページの下部にある 「Privileged Gateway Intents」 セクションで、以下を すべて ON にします:
| Intent | 説明 |
|---|---|
| PRESENCE INTENT | ユーザーのオンライン状態を取得 |
| SERVER MEMBERS INTENT | サーバーメンバー情報を取得 |
| MESSAGE CONTENT INTENT | メッセージ内容を読み取る(必須!) |
🚨 MESSAGE CONTENT INTENT が OFF だと、ボットはメッセージの内容を読めず、メンションしても反応しません! これが最もハマりやすいポイントです。
最後に 「Save Changes」 をクリックして保存します。
Step 2: ボットをサーバーに招待
2.1 招待リンクを生成
-
左メニューの 「OAuth2」→「URL Generator」 を開く
-
SCOPES セクションで
botにチェック -
BOT PERMISSIONS セクションで以下にチェック:
- ✅ View Channels
- ✅ Send Messages
- ✅ Read Message History
- ✅ Add Reactions(任意)
-
ページ下部に生成された URL をコピー
2.2 サーバーにボットを追加
- コピーした URL をブラウザで開く
- ボットを追加するサーバーを選択
- 「認証」 をクリック
💡 サーバーが表示されない場合
「表示するアイテムがありません」と出る場合は、そのサーバーで「サーバー管理」権限が必要です。自分専用のテストサーバーを作成することをお勧めします。
2.3 サーバーを新規作成する場合
- Discord アプリ左側の 「+」 をクリック
- 「サーバーを作成」 を選択
- 「自分と友達のため」→ サーバー名を入力 → 作成
- 再度招待 URL を開き、新しいサーバーを選択
Step 3: Clawdbot の設定
3.1 サーバー ID とチャンネル ID を取得
まず、Discord の開発者モードを有効化します:
- Discord の設定(⚙️)を開く
- 「アプリ設定」→「詳細設定」
- 「開発者モード」を ON
次に、ID をコピーします:
| 対象 | 取得方法 |
|---|---|
| サーバー ID | サーバーアイコンを 右クリック →「サーバー ID をコピー」 |
| チャンネル ID | チャンネル名を 右クリック →「チャンネル ID をコピー」 |
3.2 設定ファイルを編集
~/.clawdbot/clawdbot.json を編集します:
{
"channels": {
"discord": {
"enabled": true,
"token": "ここにボットのトークンを貼り付け",
"groupPolicy": "allowlist",
"guilds": {
"サーバーID": {
"channels": {
"チャンネルID": {
"allow": true,
"enabled": true
}
}
}
}
}
}
}
または、コマンドで設定することもできます:
clawdbot configure --section discord
Step 4: Gateway の再起動と動作確認
4.1 Gateway を再起動
設定を反映するため、Gateway を再起動します:
clawdbot gateway restart
4.2 Clawdbot → Discord のテスト
Clawdbot から Discord にメッセージを送信してみます:
message action=send channel=discord target="チャンネルID" message="テストメッセージ"
Discord にメッセージが届けば成功です!✅
4.3 Discord → Clawdbot のテスト
Discord のチャンネルで、ボットをメンションします:
@MoltApp こんにちは!
⚠️ @ を手入力するのではなく、入力候補からボットを選択してメンションしてください。
Clawdbot が返信すれば成功です!✅
4.4 診断コマンド
問題がある場合は診断を実行します:
clawdbot doctor --non-interactive
トラブルシューティング
❌ 「401: Unauthorized」エラー
原因: ボットトークンが無効、または期限切れ
解決策:
- Developer Portal → Bot → Reset Token で新しいトークンを生成
- 設定ファイルのトークンを更新
- Gateway を再起動
❌ 「Unknown Channel」エラー
原因: 指定したチャンネルが存在しない、またはボットがアクセスできない
解決策:
- チャンネル ID が正しいか確認
- ボットがそのチャンネルを見れる権限があるか確認
- チャンネルの権限設定でボットを許可
❌ メンションしても反応しない
原因: MESSAGE CONTENT INTENT が無効
解決策:
- Developer Portal → Bot → Privileged Gateway Intents
- MESSAGE CONTENT INTENT を ON にする
- Save Changes
- Gateway を再起動
clawdbot doctor を実行すると、MESSAGE CONTENT INTENT が無効の場合は警告が表示されます:
discord default: Message Content Intent is disabled. Bot may not see normal channel messages.
❌ サーバー選択時「表示するアイテムがありません」
原因: サーバー管理権限がない
解決策:
- 自分が管理者のサーバーを使用する
- または新しいサーバーを作成する
❌ ボットがオフライン表示
原因: Gateway が起動していない、または接続エラー
解決策:
clawdbot gateway status
clawdbot gateway restart
設定の全体像
┌─────────────────────────────────────────────────────────────┐
│ Discord Developer Portal │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Application (MoltApp) │ │
│ │ ├─ Bot Token: xxxxxxxxxx │ │
│ │ └─ Intents: MESSAGE CONTENT ✅ │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Discord Server │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ Server ID: xxxxxxxxxxxxxxxxxxx │ │
│ │ └─ Channel ID: xxxxxxxxxxxxxxxxxxx │ │
│ │ └─ Bot: MoltApp (オンライン) │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Clawdbot │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ~/.clawdbot/clawdbot.json │ │
│ │ ├─ discord.enabled: true │ │
│ │ ├─ discord.token: (Bot Token) │ │
│ │ └─ discord.guilds.{ServerID}.channels.{ChannelID} │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
使い方
Discord から Clawdbot に話しかける
@MoltApp 今日のニュースを教えて
@MoltApp 天気予報を確認して
@MoltApp リマインダーを設定して
Clawdbot から Discord にメッセージを送る
message action=send channel=discord target="チャンネルID" message="送信したいメッセージ"
チェックリスト
設定完了の確認用チェックリストです:
- Discord Developer Portal でアプリケーション作成済み
- Bot Token を取得済み
- MESSAGE CONTENT INTENT を ON にした ← 最重要!
- ボットをサーバーに招待済み
- サーバー ID を取得済み
- チャンネル ID を取得済み
-
clawdbot.jsonに設定を追加済み - Gateway を再起動済み
- Clawdbot → Discord の送信テスト成功
- Discord → Clawdbot のメンションテスト成功
まとめ
Clawdbot と Discord の連携設定は、以下の流れで行います:
- Discord Developer Portal でボットを作成し、MESSAGE CONTENT INTENT を有効化
- OAuth2 URL Generator でボットをサーバーに招待
- clawdbot.json にトークン・サーバーID・チャンネルIDを設定
- Gateway を再起動 して動作確認
最もハマりやすいポイントは MESSAGE CONTENT INTENT の有効化 です。これを忘れると、ボットはメッセージを読めないため、メンションしても一切反応しません。
設定がうまくいかない場合は、clawdbot doctor コマンドで診断すると原因が特定しやすくなります。
この記事が参考になれば幸いです!質問があればコメントでお気軽にどうぞ 🙌
