Twitch チャットを IRC 接続経由でサポートします。OpenClaw は Twitch ユーザー(bot アカウント)として接続し、チャンネル内のメッセージを受信および送信します。Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
同梱 Plugin
Twitch は現在の OpenClaw リリースでは同梱 Plugin として提供されるため、通常のパッケージビルドでは別途インストールは不要です。
- npm registry
- Local checkout
クイックセットアップ(初心者向け)
Ensure plugin is available
現在のパッケージ版 OpenClaw リリースには、すでに同梱されています。古いインストールやカスタムインストールでは、上記のコマンドで手動追加できます。
Generate credentials
Twitch Token Generator を使用します。
- Bot Token を選択
- スコープ
chat:readとchat:writeが選択されていることを確認 - Client ID と Access Token をコピー
Find your Twitch user ID
https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ を使用して、ユーザー名を Twitch ユーザー ID に変換します。
Configure the token
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(デフォルトアカウントのみ) - または config:
channels.twitch.accessToken
概要
- Gateway が所有する Twitch チャンネルです。
- 決定的ルーティング: 返信は常に Twitch に戻されます。
- 各アカウントは、分離されたセッションキー
agent:<agentId>:twitch:<accountName>に対応します。 usernameは bot のアカウント(認証する側)で、channelは参加するチャットルームです。
セットアップ(詳細)
認証情報を生成する
Twitch Token Generator を使用します。- Bot Token を選択
- スコープ
chat:readとchat:writeが選択されていることを確認 - Client ID と Access Token をコピー
手動のアプリ登録は不要です。トークンは数時間後に期限切れになります。
bot を設定する
- Env var (default account only)
- Config
アクセス制御(推奨)
allowFrom を推奨します。ロールベースのアクセスを使用したい場合は、代わりに allowedRoles を使用します。
利用可能なロール: "moderator"、"owner"、"vip"、"subscriber"、"all"。
なぜユーザー ID なのか? ユーザー名は変更できるため、なりすましを許す可能性があります。ユーザー ID は永続的です。Twitch ユーザー ID を確認する: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/(Twitch ユーザー名を ID に変換)
トークン更新(任意)
Twitch Token Generator のトークンは自動更新できません。期限切れになったら再生成してください。 自動トークン更新を行うには、Twitch Developer Console で独自の Twitch アプリケーションを作成し、config に追加します。マルチアカウントサポート
アカウントごとのトークンにはchannels.twitch.accounts を使用します。共有パターンについては 設定 を参照してください。
例(1 つの bot アカウントを 2 つのチャンネルで使用):
各アカウントには独自のトークンが必要です(チャンネルごとに 1 トークン)。
アクセス制御
- User ID allowlist (most secure)
- Role-based
- Disable @mention requirement
トラブルシューティング
まず、診断コマンドを実行します。Bot does not respond to messages
Bot does not respond to messages
- アクセス制御を確認: ユーザー ID が
allowFromに含まれていることを確認するか、テストのために一時的にallowFromを削除してallowedRoles: ["all"]を設定します。 - bot がチャンネル内にいることを確認: bot は
channelで指定されたチャンネルに参加している必要があります。
Token issues
Token issues
「接続に失敗しました」または認証エラー:
accessTokenが OAuth アクセストークン値であることを確認します(通常はoauth:プレフィックスで始まります)- トークンに
chat:readとchat:writeのスコープがあることを確認します - トークン更新を使用している場合は、
clientSecretとrefreshTokenが設定されていることを確認します
Token refresh not working
Token refresh not working
更新イベントのログを確認します。「token refresh disabled (no refresh token)」が表示される場合:
clientSecretが提供されていることを確認しますrefreshTokenが提供されていることを確認します
Config
アカウント設定
bot ユーザー名。
chat:read と chat:write を持つ OAuth アクセストークン。Twitch Client ID(Token Generator または自分のアプリから)。
参加するチャンネル。
このアカウントを有効化します。
任意: 自動トークン更新用。
任意: 自動トークン更新用。
トークンの有効期限(秒)。
トークン取得タイムスタンプ。
ユーザー ID 許可リスト。
ロールベースのアクセス制御。
@mention を必須にします。
プロバイダーオプション
channels.twitch.enabled- チャンネル起動を有効化/無効化channels.twitch.username- bot ユーザー名(簡易シングルアカウント設定)channels.twitch.accessToken- OAuth アクセストークン(簡易シングルアカウント設定)channels.twitch.clientId- Twitch Client ID(簡易シングルアカウント設定)channels.twitch.channel- 参加するチャンネル(簡易シングルアカウント設定)channels.twitch.accounts.<accountName>- マルチアカウント設定(上記のすべてのアカウントフィールド)
ツールアクション
エージェントは、次のアクションでtwitch を呼び出せます。
send- チャンネルにメッセージを送信
安全性と運用
- トークンをパスワードのように扱う — トークンを git にコミットしないでください。
- 自動トークン更新を使用する 長時間稼働する bot では有効です。
- ユーザー名ではなくユーザー ID 許可リストを使用する アクセス制御に使用します。
- ログを監視する トークン更新イベントと接続状態を確認します。
- トークンのスコープを最小限にする —
chat:readとchat:writeのみを要求します。 - 行き詰まった場合: 他のプロセスがセッションを所有していないことを確認してから、Gateway を再起動します。
制限
- メッセージあたり 500 文字(単語境界で自動分割)。
- Markdown は分割前に削除されます。
- レート制限なし(Twitch の組み込みレート制限を使用)。
関連
- チャンネルルーティング — メッセージのセッションルーティング
- チャンネル概要 — サポートされるすべてのチャンネル
- グループ — グループチャットの動作と mention ゲート
- ペアリング — DM 認証とペアリングフロー
- セキュリティ — アクセスモデルと強化