🦞

ラズパイで育てる!自分だけのAI【運用編】① Discordステータスリアクションを有効化する

に公開

はじめに

🎯 この記事の対象読者

  • OpenClaw を Discord で運用している方
  • メッセージを送った後、Bot が何をしているか見えなくて不安な方
  • リアクション絵文字でステータスを可視化したい方

前提: OpenClaw インストール・onboard 編 が完了していること


ステータスリアクションとは

Discord で Bot にメッセージを送ったとき、処理の進行状況を絵文字リアクションで表示する機能です。

デフォルトの絵文字はこちら:

ステータス 絵文字 意味
queued 👀 メッセージを受け取った
thinking 🤔 LLM が考えている
tool 🔥 ツール呼び出し中
coding 👨‍💻 コード実行中
web ウェブ検索中
done 👍 処理完了
error 😱 エラー発生

Bot が黙ってメッセージを処理している間、絵文字がじわじわ変わっていきます。「ちゃんと動いているな」と安心できるのが地味にありがたい機能です。

補足: 絵文字の種類について

上記は主要なステータスの絵文字です。バージョンによって追加のステータスが存在する場合があります。


設定を変更する

~/.openclaw/openclaw.jsonmessages セクションを編集します。

変更前:

"messages": {
    "ackReactionScope": "group-mentions",
    "ackReaction": "👀"
}

変更後:

"messages": {
    "ackReactionScope": "all",
    "ackReaction": "👀"
}

ackReactionScope に指定できる値はこちら:

動作
"all" すべてのメッセージに反応(DM・グループ両方)
"group-mentions" グループで @メンションされた時のみ
"group-all" グループメッセージすべて
"direct" DM のみ
"none" 反応なし

普段の運用では "all" が最も使いやすいです。@メンションなしで話しかける設定にしている場合は特に。


ゲートウェイを再起動する

設定を変更したらゲートウェイを再起動します。

# Docker Compose で運用している場合
docker compose restart
# ネイティブインストール(非Docker)の場合
openclaw gateway restart

再起動後、ログで設定が読み込まれたか確認しておくと安心です:

docker compose logs openclaw --tail 20 | grep -i "reload\|config"

絵文字をカスタマイズする(任意)

デフォルトの絵文字を変更したい場合は statusReactions セクションを追加します。

{
  "messages": {
    "ackReaction": "👀",
    "ackReactionScope": "all",
    "statusReactions": {
      "emojis": {
        "thinking": "🧠",
        "tool": "🛠️",
        "coding": "💻",
        "web": "🌐",
        "done": "✅",
        "error": "❌"
      }
    }
  }
}

ステータスリアクション自体を無効化したい場合は enabled: false を設定します:

{
  "messages": {
    "statusReactions": {
      "enabled": false
    }
  }
}

各チャネルの対応状況

Discord 以外のチャネルを使っている方向けに、対応状況をまとめました。

チャネル ackReaction statusReactions 備考
Discord Unicode 絵文字
Slack shortcode 形式("eyes" など)
Telegram Unicode 絵文字
LINE リアクション機能未実装
Teams リアクション機能未実装

LINE や Teams はリアクション機能自体が実装されていないため、この設定は効果がありません。Slack を使う場合は Unicode 絵文字ではなく shortcode 形式("eyes" など)で指定する点に注意してください。


動作確認

設定が反映されているか確認します。

  1. Discord のチャットで Bot にメッセージを送信
  2. Bot がメッセージに 👀 リアクションをつけるか確認
  3. 処理中に 🤔 → 🔥 → 👍 のように絵文字が遷移するか確認

うまく動かない場合の確認ポイント:

  • ackReactionackReactionScope両方が設定されているか
  • ゲートウェイを再起動したか
  • docker compose logs openclaw --tail 50 でエラーが出ていないか

まとめ

項目 設定値
リアクション絵文字 messages.ackReaction
発火スコープ messages.ackReactionScope
中間ステータス絵文字 messages.statusReactions.emojis
再起動 設定変更後は docker compose restart を推奨

✅ 今回やったこと:

  1. ackReactionackReactionScope を両方設定してリアクションを有効化した
  2. ゲートウェイを再起動して設定を反映した
  3. カスタム絵文字の設定方法と既知の制限を確認した

ackReactionackReactionScope はセットで設定する、というのが最大のポイントです。片方だけ書いても動かないのでハマりやすい。

LINE や Teams でもリアクションが使えるようになったら試してみたいです。今後のアップデートに期待。


運用編:

  • ① Discordステータスリアクションを有効化する(本記事)

📚 シリーズ全記事の目次はこちら

Discussion