↓メインコンテンツへスキップ
  1. 記事/

Openclaw デプロイ完全ガイド (Discord 編)

·2251 文字·5 分
開発 Openclaw 設定ガイド Discord
Kyo
著者
Kyo
0.5x~2x
目次

本ガイドは Linux サーバー(CentOS, Ubuntu, OpenCloudOS など)を対象としています。
#

📋 目次
#

  1. 環境準備:ユーザー作成と Node.js のインストール
  2. Discord 設定:Bot の申請とトークンの取得
  3. OpenClaw 設定:ホワイトリストと ID
  4. プロセス管理:バックグラウンドで 24 時間稼働させる
  5. よくある質問とトラブルシューティング (FAQ)

第 1 段階:環境準備
#

1. ユーザーの作成と権限付与
#

root ユーザーでサーバーにログインし、以下を実行します:

# 1. ユーザーを作成する(名前は自由に、例えば 'kyoyarn')
useradd -m kyoyarn

# 2. パスワードを設定する(passwd + ユーザー名、パスワードは2回入力)
passwd kyoyarn

# 3. 管理者権限を付与する(kyoyarn を自分のユーザー名に置き換えてください)
# 注意:CentOS/OpenCloudOS は通常 wheel グループ、Ubuntu は sudo グループを使用
usermod -aG wheel kyoyarn
# "group 'wheel' does not exist" エラーが出る場合は: usermod -aG sudo kyoyarn

2. Node.js (v18+) のインストール
#

OpenClaw には Node.js 環境が必要です。 (サーバーに既に Node.js v18 以上がインストールされている場合は、このステップをスキップできます)

# 新しいユーザーに切り替えて操作する(kyoyarn を自分のユーザー名に置き換えてください)
su - kyoyarn

# NVM を使って Node.js をインストールする(最も安定した方法)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

# 環境変数を再読み込みする
source ~/.bashrc

# Node v20 をインストールして使用する
nvm install 20
nvm use 20

# インストールを確認する
node -v  # v20.x.x と表示されるはず

3. OpenClaw のインストール
#

# OpenClaw をグローバルにインストールする
npm install -g openclaw@latest

# 設定ディレクトリを作成する
mkdir -p ~/.openclaw

# インストールを確認する
openclaw --version

第 2 段階:Discord の設定
#

1. アプリケーションの作成
#

  1. Discord Developer Portal にログインします。
  2. 右上の New Application をクリックし、名前を付けます(例:MyOpenClaw)。
  3. 左メニューの Bot をクリックし、Reset Token をクリックします。
    Reset Token for Discord Bot
  • 👉 トークンをすぐにコピーして保存してください(ページを閉じると二度と表示されません)。

2. 特権インテントの有効化(重要なステップ)
#

Bot ページを下にスクロールし、Privileged Gateway Intents で以下の 3 つを有効にします:

  • ✅ Presence Intent
  • ✅ Server Members Intent
  • ✅ Message Content Intent(これを有効にしないと Bot はメッセージを読めません)
  • Save Changes をクリックします。
    Enable Privileged Gateway Intents for Discord Bot

3. 招待リンクの生成
#

  1. 左メニューの OAuth2 -> URL Generator をクリックします。

  2. Scopes で bot にチェックを入れます。

    scopes for Bot

  3. Bot Permissions で必要な権限にチェックを入れます。以下は必須です:

  • Read Messages/View Channels
  • Send Messages
  • Read Message History
    Generate Invite Link for Discord Bot
  1. 生成された URL をコピーし、ブラウザで開いて Bot をサーバーに追加します。

第 3 段階:OpenClaw の設定
#

1. ID の取得(開発者モードの有効化が必要)
#

Discord の設定 -> Advanced -> Developer Mode を有効にします。

Enable Developer Mode

  • Guild ID(サーバー ID):左側のサーバーアイコンを右クリック -> Copy Server ID。
    Get Guild ID
  • Channel ID(チャンネル ID):Bot と対話するチャンネルを右クリック -> Copy Channel ID。
    Get Channel ID

2. 設定ファイルの作成
#

nano で設定ファイルを編集します:

nano ~/.openclaw/openclaw.json

以下の内容をコピーして修正します(トークンと ID を必ず置き換えてください):

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "あなたの_DISCORD_トークンをここに貼り付け",
      "groupPolicy": "allowlist",
      "guilds": {
        "あなたの_サーバーIDをここに貼り付け": {
          "channels": {
            "あなたの_チャンネルIDをここに貼り付け": {
              "allow": true
            }
          }
        }
      }
    }
  },
  "gateway": {
    // http://サーバーIP:4000 でコンソールにアクセスできるようにする
    "bind": "0.0.0.0"
  }
}

Ctrl + O を押して Enter で保存、Ctrl + X で終了。

3. 初期テスト
#

バックグラウンドサービスを起動する前に、まず手動で実行して動作を確認します:

openclaw gateway
  • ログに Gateway connected と表示されるか確認します。
  • Discord で hello と送信し、Bot が返信するか確認します。
  • テスト成功後、Ctrl + C で停止します。

第 4 段階:プロセス管理(バックグラウンド実行)
#

Systemd を使ってサービスを管理し、SSH 切断後もプログラムが稼働し続け、起動時に自動開始するようにします。

1. ユーザー Linger の有効化
#

ユーザーのログアウト後にプロセスが終了するのを防ぎます。

# kyoyarn ユーザーであることを確認してください
loginctl enable-linger $(whoami)

2. ランタイムディレクトリ変数の設定
#

export XDG_RUNTIME_DIR=/run/user/$(id -u)

(次回のログイン時にも有効になるよう、~/.bashrc の末尾にこの行を追加することをお勧めします)

3. サービスの登録と起動
#

# 1. サービスをインストールする
openclaw daemon install

# 2. サービスを起動する
openclaw daemon start

# 3. ステータスを確認する
openclaw daemon status

緑色の Active: active (running) が表示されれば完了です!🎉


第 5 段階:よくある質問とトラブルシューティング (FAQ)
#

Q1: Discord が “Agent failed… permission denied /root/…” と返す
#

原因:移行後の典型的な問題です。kyoyarn ユーザーでログインしていても、設定ファイルに /root のパスが残っています。 解決方法: 以下のコマンドで全設定ファイルのパスを一括置換します:

find ~/.openclaw -type f -exec sed -i "s|/root/.openclaw|/home/$(whoami)/.openclaw|g" {} +
# 置換後は再起動を忘れずに
openclaw daemon restart

Q2: Bot はオンラインだが、メッセージに全く反応しない(ログも静か)
#

原因:通常、Discord Developer Portal で Message Content Intent が有効になっていないことが原因です。 解決方法:Discord Developer Portal -> Bot -> Message Content Intent を有効にする -> Save Changes。

Q3: “This channel is not allowed” エラーが出る
#

原因:ホワイトリストが有効ですが、現在のチャンネル ID が openclaw.json に記載されていません。 解決方法:現在のチャンネル ID を右クリックでコピーし、設定ファイルに追加してから openclaw daemon restart を実行します。

Q4: リアルタイムのエラーログを確認するには?
#

コマンド:

journalctl --user -u openclaw -f

(Ctrl + C で終了)

Q5: 完全に停止または再起動するには?
#

  • 再起動(設定変更後):openclaw daemon restart
  • 停止(メンテナンス時):openclaw daemon stop