インストール
Twitch は公式 plugin として提供されます。core インストールには含まれません。- npm registry
- Local checkout
plugins install は plugin を登録して有効化します。openclaw onboard または openclaw channels add の実行中に Twitch を選ぶと、必要に応じてインストールされます。現在のリリースに追従するには素のパッケージ名を使い、再現可能なインストールが必要な場合のみ正確なバージョンに固定してください。OpenClaw 2026.4.10 以降が必要です。
詳細: Plugins
クイックセットアップ
Install the plugin
上記の インストール を参照してください。
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:group:<channel>にマップされます。 usernameは bot のアカウント (認証する主体)、channelは参加するチャットルームです。1 つのアカウントエントリは正確に 1 つのチャンネルに参加します。- token は
oauth:プレフィックスの有無にかかわらず動作します。OpenClaw はどちらの形式も正規化します (セットアップウィザードはoauth:形式を想定します)。
token 更新 (任意)
Twitch Token Generator からの token は OpenClaw では更新できません - 期限切れになったら再生成してください (有効期間は数時間で、アプリ登録は不要です)。 自動更新には、Twitch Developer Console で独自のアプリを作成し、次を追加します:refreshToken がない場合は token refresh disabled (no refresh token) をログに記録します。clientSecret がない場合は、静的な (更新しない) token にフォールバックします。
マルチアカウントサポート
アカウントごとの認証情報にはchannels.twitch.accounts を使用します。共有パターンについては 設定 を参照してください。
例 (1 つの bot アカウントを 2 つのチャンネルで使う場合):
すべてのアカウントエントリには個別の
accessToken が必要です (env var が対象にするのはデフォルトアカウントのみです)。1 つのアカウントは正確に 1 つのチャンネルに参加するため、2 つのチャンネルに参加するには 2 つのアカウントが必要です。channels.twitch.defaultAccount は、どのアカウントをデフォルトにするかを選択します。アクセス制御
allowFrom は Twitch ユーザー ID の厳格な許可リストです。設定されている場合、allowedRoles は無視されます。ロールベースのアクセスを使うには、allowFrom を未設定のままにしてください。
利用可能なロール: "moderator", "owner", "vip", "subscriber", "all"。
- User ID allowlist (most secure)
- Role-based
- Disable @mention requirement
なぜユーザー ID なのか? ユーザー名は変更できるため、なりすましを許してしまう可能性があります。ユーザー ID は永続的です。自分の ID は username to ID converter で確認できます。
トラブルシューティング
まず、診断コマンドを実行します:Bot does not respond to messages
Bot does not respond to messages
- アクセス制御を確認: 自分のユーザー ID が
allowFromに含まれていることを確認するか、テストのために一時的にallowFromを削除してallowedRoles: ["all"]を設定します。 - メンションゲートを確認:
requireMention: true(デフォルト) の場合、メッセージは bot のユーザー名を @mention する必要があります。 - bot がチャンネルにいることを確認: bot は
channelで指定されたチャンネルにのみ参加します。
Token issues
Token issues
“Failed to connect” または認証エラー:
accessTokenが OAuth access token の値であることを確認します (oauth:プレフィックスは任意です)- token に
chat:readとchat:writeスコープがあることを確認します - token 更新を使っている場合は、
clientSecretとrefreshTokenが設定されていることを確認します
Token refresh not working
Token refresh not working
更新イベントのログを確認します:
token refresh disabled (no refresh token) が表示される場合:clientSecretが指定されていることを確認しますrefreshTokenが指定されていることを確認します
Config
アカウント config
Bot ユーザー名 (認証するアカウント)。
chat:read と chat:write を持つ OAuth access token (デフォルトアカウントでは config または env)。Twitch Client ID (Token Generator または自分のアプリから)。schema 上は任意ですが、接続には必須です。
参加するチャンネル。
このアカウントを有効化します。
任意: token の自動更新用。
任意: token の自動更新用。
token の有効期限 (秒単位、更新追跡用)。
token が取得された時刻のタイムスタンプ (更新追跡用)。
ユーザー ID 許可リスト。設定されている場合、ロールは無視されます。
ロールベースのアクセス制御。
bot をトリガーするには @mention を必須にします。
このアカウントの送信応答 prefix override。
プロバイダーオプション
channels.twitch.enabled- チャンネル起動を有効化/無効化channels.twitch.username/accessToken/clientId/channel- 簡略化された単一アカウント config (暗黙のdefaultアカウント。accounts.defaultより優先)channels.twitch.accounts.<accountName>- マルチアカウント config (上記の全アカウントフィールド)channels.twitch.defaultAccount- どのアカウント名をデフォルトにするかchannels.twitch.markdown.tables- Markdown テーブルのレンダリングモード (off|bullets|code|block)
ツールアクション
agent は message tool のsend action を通じて Twitch メッセージを送信できます:
to は任意で、デフォルトではアカウントに設定された channel になります。
安全性と運用
- token はパスワードと同じように扱う - token を git にコミットしないでください。
- 長時間稼働する bot には token の自動更新を使う。
- アクセス制御にはユーザー名ではなく ユーザー ID 許可リストを使う。
- token 更新イベントと接続状態について ログを監視する。
- token のスコープは最小限にする -
chat:readとchat:writeのみを要求してください。 - 行き詰まった場合: 他のプロセスがセッションを所有していないことを確認してから Gateway を再起動します。
制限
- メッセージあたり 500 文字。より長い返信は単語境界で分割されます。
- 送信前に Markdown は取り除かれます (Twitch チャットはプレーンテキストです。改行はスペースになります)。
- OpenClaw は独自のレート制限を追加しません。Twurple チャットクライアントが Twitch のレート制限を処理します。
関連
- チャンネルルーティング — メッセージのセッションルーティング
- チャンネル概要 — サポートされるすべてのチャンネル
- グループ — グループチャットの動作とメンションゲート
- ペアリング — DM 認証とペアリングフロー
- セキュリティ — アクセスモデルと強化