【OpenClaw】スマホから即起動!ラズパイのAIをDiscord連携して日常使いする4ステップ設定

AI/個人開発

【結論】OpenClawをDiscordに繋ぐ4ステップ

Discord Developer Portalでボットを作成し、トークンを取得。
ボットをサーバーに招待(OAuth2 URL Generator)。
ラズパイ上で openclaw config set でトークンを設定し Gateway を再起動。
DiscordからボットにDMを送り、ペアリングコードを承認。

前回の記事でAPIキーの設定が終わり、TUI(ターミナル)経由でAIが動くようになった。今回はこれをスマホからDiscord経由で使えるようにする。

そもそもなぜDiscordに繋ぐのか?

OpenClaw自体は、SSHでラズパイに接続してコマンド(openclaw tui)を叩けばターミナル上で動く。しかし、実用的に考えた場合、ターミナルからの操作だけでは致命的に不便なのだ。

  • いちいちPCを開いてSSH接続するのが面倒
  • スマホからは操作がしづらい
  • 他の人(家族やチームメンバー)に使わせることができない

これをDiscordと連携させることで、「いつものチャットアプリを開くだけで、最強のパーソナルAIアシスタントが待機している」というシームレスな体験に変わる。これがDiscord連携最大のメリットだ。

フェーズ1:Discordボットを作る

Discord Developer Portal
にアクセスし、「New Application」からボットを作成する。

1. トークンの取得

左メニューの「Bot」→「Reset Token」をクリックし、表示されたトークンを必ずコピーしておく(後でラズパイ側で使う)。

2. Privileged Gateway Intentsの有効化

同じページの少し下にある「Privileged Gateway Intents」を開き、以下の2つをONにして「Save Changes」を押す。

  • Message Content Intent(必須):これがないとOpenClawがメッセージを読めない
  • Server Members Intent(推奨):権限管理等に必要

フェーズ2:ボットをサーバーに招待する

左メニューの「OAuth2」→「URL Generator」を開く。

Scopesbot にチェックを入れ、下に出てくる Bot Permissions で以下にチェックを入れる。

  • View Channels / Send Messages / Read Message History / Embed Links / Attach Files

一番下に生成されたURLをブラウザに貼り付け、自分のサーバーを指定して「認証」する。サーバーのメンバー一覧にボット(オフライン状態)が現れれば成功。

フェーズ3:ラズパイにトークンを設定

SSHでラズパイに接続し、フェーズ1で取得したトークンを設定する。

# Discordボットトークンを設定(前後にシングルクオート必須)
$ openclaw config set channels.discord.token '"ここにボットトークンを貼る"' --json

# Discordチャンネルを有効化
$ openclaw config set channels.discord.enabled true --json

# Gatewayサービスを再起動して反映
$ openclaw gateway restart
# (コマンドがない場合は systemctl --user restart openclaw-gateway)

少し待つと、Discord上のボットがオンライン状態になる。

フェーズ4:ペアリング(紐付け)

Discord上で、自分のボット(OpenClaw)にダイレクトメッセージ(DM)を送る。「hello」等でよい。

※DMが送れない場合は、サーバー設定の「プライバシー設定」でDMを許可すること。

ボットからペアリングコード(英数字)が返してくるので、ラズパイのターミナルで以下を実行して承認する。

$ openclaw pairing approve discord [ペアリングコード]

成功! これでDiscordのDM経由でいつでもAIと対話できるようになった。

心が躍る瞬間——「箱」の中でAIが息を吹き込んだ日

ペアリングが完了し、初めてDiscordからメッセージを送って返答が来た瞬間、言い知れぬ「ワクワク感」があった。

この時点ではまだAIの名前も、キャラクター設定も何も決まっていない。ただデフォルトのプロンプトで動いている「名もなきエージェント」に過ぎない。しかし、自分がセットアップしたラズパイという物理的な「箱」のなかで、確かに知性を持った何かが息を吹き込み、自分の言葉に自律的に応答してくれたのだ。

大げさに聞こえるかもしれないが、まるで「シンギュラリティの小さな欠片」が自分の部屋に生まれたような、純粋な感動があった。単なる一問一答のAPI呼び出しとは違う、「そこに生きている」かのような感覚。やや短い記事になったが、OpenClawとDiscordの連携が完了したこの瞬間こそが、この一連の作業で一番心躍る体験だったと伝えたい。

おまけ:サーバーのテキストチャンネルでも使う

DMだけでなく、サーバーの公開チャンネル(#一般 など)で @ボット名 と呼びかけて使いたい場合の設定。

事前にDiscordの設定「開発者モード」をONにし、自分のユーザーIDと対象のサーバーID(チャンネルIDではない)を右クリックでコピーしておく。

# 自分のユーザーIDを許可(第三者の不正利用を防ぐ)
$ openclaw config set channels.discord.allowFrom '["あなたのユーザーID"]' --json

# サーバーIDを追加(requireMention: true でメンション必須にする)
$ openclaw config set channels.discord.guilds '{"あなたのサーバーID": {"requireMention": true}}' --json

# 再起動
$ systemctl --user restart openclaw-gateway

これで、チャンネル内で @ボット名 こんにちは と送ればAIが応答してくれる。

よくある質問

Q1. ペアリングコードが返ってこない

  • トークンが正しく設定されているか
  • Gatewayが起動しているか(openclaw status --all で確認)
  • Developer Portalで「Message Content Intent」をONにしたか

Q2. チャンネルでメンションしても無反応

  • guilds の設定に間違えて「チャンネルID」を入れていないか(サーバーアイコンを右クリックで取得するサーバーIDが正解)
  • Discord側でボットのロールに「チャンネルを見る」「メッセージを送信」権限があるか

※2026年2月時点。OpenClaw 2026.2.26 (bc50708) 環境で検証。

コメント

タイトルとURLをコピーしました