OpenClawでDiscordBotを作る:discordスキルの活用

AI

OpenClawでDiscord連携を始めたいとき、いちばん大事なのは「Discordを操作する仕組みがある」ことだけではありません。どの操作を、どのメッセージツール経由で、どこまで安全に実行するのかを理解しておくことです。

この記事では、OpenClawの discord スキルを使って、実際に Discord のメッセージ送信・リアクション・スレッド作成を行う流れを、設定 → 実行例 → 運用上の注意点の順で整理します。単なる機能紹介ではなく、「最初の1回を迷わず動かす」ための実務寄りの手順に絞ります。

最初に理解しておきたいこと

OpenClaw では Discord 操作専用の独立ツールを直接叩くのではなく、message tool を channel=discord で使うのが基本です。つまり、OpenClaw に「Discord へ何をしたいか」を渡すと、内部では message tool が実行されます。

  • メッセージ送信:指定チャンネルやスレッドに投稿する
  • リアクション:既存メッセージへ絵文字を付ける
  • thread-create:既存メッセージからスレッドを作る、またはフォーラム投稿を作る
  • read / search:履歴確認やキーワード検索を行う

ここを押さえておくと、「Discord スキル = bot コードを書く機能」ではなく、OpenClaw が Discord の操作を安全に仲介するための手順書だと理解しやすくなります。

事前準備

1. Discord Bot を作成する

  1. Discord Developer Portal を開く
  2. 「New Application」からアプリケーションを作成する
  3. 「Bot」タブで Bot を追加する
  4. 生成された Bot Token を控える

このトークンは OpenClaw の Discord 接続に使います。Git 管理の対象ファイルや公開チャンネルに貼らないことが前提です。

2. Bot をサーバーへ招待する

OAuth2 の URL Generator で bot スコープを選び、必要な権限を付けて招待 URL を発行します。最初は以下があれば十分です。

  • View Channels
  • Send Messages
  • Read Message History
  • Add Reactions
  • Create Public Threads
  • Send Messages in Threads

最初から管理者権限を付ける必要はありません。必要最小限で始めて、足りない操作だけを追加した方が事故を減らせます。

OpenClaw 側の設定

Discord スキルを使うには、OpenClaw 側で Discord チャンネル設定を有効化します。設定例は以下です。

{
  "channels": {
    "discord": {
      "enabled": true,
      "token": "YOUR_BOT_TOKEN"
    }
  }
}

実環境では、token を平文で置きっぱなしにせず、OpenClaw の設定運用ルールに沿って管理してください。特に複数サーバーを扱う場合は、どの guild / channel に投稿してよいかを先に決めておくと安全です。

基本操作の実例

メッセージを送る

もっとも基本なのが送信です。Discord では channel=discord を明示して、対象チャンネル ID を指定するのが確実です。

{
  "action": "send",
  "channel": "discord",
  "target": "channel:123456789012345678",
  "message": "会議は15時からです"
}

名前解決より ID 指定の方が誤投稿を防ぎやすいので、運用では ID を優先した方が安定します。

リアクションを付ける

{
  "action": "react",
  "channel": "discord",
  "channelId": "123456789012345678",
  "messageId": "234567890123456789",
  "emoji": "✅"
}

雑に返信を増やすより、リアクションで受領だけ示した方が自然な場面も多いです。OpenClaw の運用では、反応だけで十分なときはリアクションを優先すると会話が散らかりにくくなります。

フォーラム / スレッドを作る

会議ログや案件管理ではスレッド作成が重要です。OpenClaw では message toolthread-create を使います。

{
  "action": "thread-create",
  "channel": "discord",
  "guildId": "1465641807563198644",
  "channelId": "1477946633466417213",
  "threadName": "🤝 会議 #866 - AdSense対応とAmazon導線見直し",
  "message": "Coordinator: 今回の優先議題を確認します。"
}

このときの注意点は次の3つです。

  • thread-create では target を使わない
  • guildId / channelId を省略しない
  • 作成後の追記は target=<thread-id> を明示して send する

会議ログを自動化するときは、この区別を守るだけでスレッド誤爆がかなり減ります。

cron と組み合わせると何ができるか

Discord 連携が活きるのは、定期通知や会議実行を cron と組み合わせたときです。たとえば以下のような用途があります。

  • 朝の定例リマインドを Discord に流す
  • 障害検知時だけ専用スレッドへ通知する
  • 15分ごとの会議ジョブで fresh thread を作り、議論ログを残す
  • 監視スクリプトの結果を開発チャンネルへ集約する

単なる「通知 bot」ではなく、OpenClaw の判断と Discord の記録をつなぐ窓口として使えるのが強みです。

つまずきやすいポイント

1. Bot は入っているのに投稿できない

多くは権限不足です。Send Messages だけでなく、対象がスレッドなら Send Messages in Threads、フォーラムなら該当チャンネルの閲覧権限も必要です。

2. チャンネル名指定で別の場所に出る

名前は似たチャンネルがあると危険です。特に本番通知では guildId / channelId / threadId の明示 を徹底してください。

3. トークンを入れたのに接続できない

Bot Token の貼り間違い、設定反映漏れ、あるいは Discord 側で Bot が無効化されているケースがあります。設定変更後は、OpenClaw 側のチャンネル設定が有効になっているかも合わせて確認します。

AdSense 対策の観点で見た改善ポイント

この記事のような OpenClaw 入門記事は、機能列挙だけだと「薄い説明ページ」に見えやすいです。そのため、次の要素を入れておくと有用性を説明しやすくなります。

  • どのツールを実際に使うのか
  • 設定例だけでなく、失敗しやすいポイント
  • 実務での使い道(通知、会議、監視)
  • 安全運用の前提(権限最小化、ID 指定)

単に「できます」で終わらず、読者がそのまま設定判断に使える粒度まで書くことが、有用性の底上げにつながります。

まとめ

OpenClaw の Discord 連携は、コードを書いて bot を一から作るというより、message tool を通じて Discord 操作を安全に実行する運用として理解すると使いやすくなります。

まずはメッセージ送信・リアクション・スレッド作成の3つを小さく試し、その後に cron 通知や会議自動化へ広げるのが最短です。特に本番運用では、ID 指定・権限最小化・thread-create と send の使い分けの3点を押さえておくと安定します。

関連記事

コメント

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