メッセージングプラットフォーム
Twitch
IRC接続によるTwitchチャットサポート。OpenClawはTwitchユーザー(ボットアカウント)として接続し、チャンネル内でメッセージの送受信を行います。
必要なプラグイン
Twitchはプラグインとして提供されており、コアインストールにはバンドルされていません。CLI(npmレジストリ)経由でインストールします:
openclaw plugins install @openclaw/twitch
ローカルチェックアウト(gitリポジトリから実行する場合):
openclaw plugins install ./extensions/twitch
詳細:プラグイン
クイックセットアップ(初心者向け)
- ボット用の専用Twitchアカウントを作成します(または既存のアカウントを使用します)。
- 認証情報を生成します:Twitch Token Generator
- Bot Tokenを選択
- スコープ
chat:readとchat:writeが選択されていることを確認 - Client IDとAccess Tokenをコピー
- TwitchユーザーIDを調べます:https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
- トークンを設定します:
- 環境変数:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(デフォルトアカウントのみ) - または設定ファイル:
channels.twitch.accessToken - 両方が設 定されている場合、設定ファイルが優先されます(環境変数はデフォルトアカウントのみのフォールバック)。
- 環境変数:
- ゲートウェイを起動します。
⚠️ 重要: 未承認ユーザーによるボットのトリガーを防ぐため、アクセス制御(allowFromまたはallowedRoles)を追加してください。requireMentionはデフォルトでtrueです。最小限の設定:
{
channels: {
twitch: {
enabled: true,
username: "openclaw", // ボットのTwitchアカウント
accessToken: "oauth:abc123...", // OAuthアクセストークン(またはOPENCLAW_TWITCH_ACCESS_TOKEN環境変数を使用)
clientId: "xyz789...", // Token GeneratorからのクライアントID
channel: "vevisk", // 参加するTwitchチャンネル(必須)
allowFrom: ["123456789"], // (推奨)あなたのTwitchユーザーIDのみ - https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ から取得
},
},
}
概要
- ゲートウェイが所有するTwitchチャンネル。
- 決定論的なルーティング:返信は常にTwitchに戻ります。
- 各アカウントは独立したセッションキー
agent::twitch:にマッピングされます。 usernameはボットのアカウント(認証する側)、channelは参加するチャットルームです。
セットアップ(詳細)
認証情報の生成
- Bot Tokenを選択
- スコープ
chat:readとchat:writeが選択されていることを確認 - Client IDとAccess Tokenをコピー
手動でのアプリ登録は不要です。トークンは数時間で期限切れになります。
ボットの設定
環境変数(デフォルトアカウントのみ):
OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...
または設定ファイル:
{
channels: {
twitch: {
enabled: true,
username: "openclaw",
accessToken: "oauth:abc123...",
clientId: "xyz789...",
channel: "vevisk",
},
},
}
環境変数と設定ファイルの両方が設定されている場合、設定ファイルが優先されます。
アクセス制御(推奨)
{
channels: {
twitch: {
allowFrom: ["123456789"], // (推奨)あなたのTwitchユーザーIDのみ
},
},
}
厳格な許可リストにはallowFromを推奨します。ロールベースのアクセスが必要な場合は、代わりにallowedRolesを使用してください。利用可能なロール: "moderator"、"owner"、"vip"、"subscriber"、"all"。なぜユーザーIDか? ユーザー名は変更可能で、なりすましを許す可能性があります。ユーザーIDは永続的です。TwitchユーザーIDを調べる:https://www.streamweasels.com/tools/convert-twitch-username-%20to-user-id/(Twitchユーザー名をIDに変換)
トークン更新(オプション)
Twitch Token Generatorからのトークンは自動更新できません - 期限切れになったら再生成してください。自動トークン更新のためには、Twitch Developer Consoleで独自のTwitchアプリケーションを作成し、設定に追加します:
{
channels: {
twitch: {
clientSecret: "your_client_secret",
refreshToken: "your_refresh_token",
},
},
}
ボットは期限切れ前にトークンを自動更新し、更新イベントをログに記録します。
マルチアカウントサポート
アカウントごとのトークンでchannels.twitch.accountsを使用します。共有パターンについてはgateway/configurationを参照してください。例(1つのボットアカウントで2つのチャンネル):
{
channels: {
twitch: {
accounts: {
channel1: {
username: "openclaw",
accessToken: "oauth:abc123...",
clientId: "xyz789...",
channel: "vevisk",
},
channel2: {
username: "openclaw",
accessToken: "oauth:def456...",
clientId: "uvw012...",
channel: "secondchannel",
},
},
},
},
}
注意: 各アカウントには独自のトークンが必要です(チャンネルごとに1つのトークン)。