Twitch (插件)
透過 IRC 連線支援 Twitch 聊天。OpenClaw 作為 Twitch 使用者(機器人帳號)登入,並在頻道中接收與發送訊息。安裝插件
Twitch 不隨核心安裝綑綁。 透過 CLI 安裝(npm 套件庫):快速設定(初學者)
- 為機器人建立專屬的 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 - 如果兩者都設定,設定優先(環境變數備選僅限預設帳戶)。
- 環境變數:
- 啟動 Gateway。
allowFrom 或 allowedRoles)以防止未授權使用者觸發機器人。requireMention 預設為 true。
最小設定:
這是什麼
- Gateway 擁有的 Twitch 頻道。
- 確定性路由:回覆始終回到 Twitch。
- 每個帳戶對應一個隔離會話鍵
agent:<agentId>:twitch:<accountName>。 username是機器人帳號(誰進行認證),channel是要加入的聊天室。
設定(詳細)
產生憑證
使用 Twitch Token Generator:- 選擇 Bot Token
- 確認
chat:read和chat:write範圍已選擇 - 複製 Client ID 和 Access Token
設定機器人
環境變數(僅預設帳戶):存取控制(推薦)
allowFrom 作為硬允許清單。使用 allowedRoles 進行基於角色的存取。
可用角色: "moderator"、"owner"、"vip"、"subscriber"、"all"。
為何使用使用者 ID? 使用者名稱可以更改,允許冒充。使用者 ID 是永久的。
取得您的 Twitch 使用者 ID:https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/
令牌刷新(可選)
來自 Twitch Token Generator 的令牌無法自動刷新 - 過期時重新產生。 對於自動令牌刷新,在 Twitch Developer Console 建立自己的 Twitch 應用程式並新增到設定:多帳戶支援
使用channels.twitch.accounts 與每帳戶令牌。請參閱 gateway/configuration 了解共享模式。
範例(一個機器人帳號在兩個頻道):
存取控制
基於角色的限制
按使用者 ID 的允許清單(最安全)
基於角色的存取(替代方案)
allowFrom 是硬允許清單。設定時,僅允許這些使用者 ID。
如果您想要基於角色的存取,不設定 allowFrom 並改為設定 allowedRoles:
停用 @提及要求
預設情況下,requireMention 是 true。要停用並回應所有訊息:
疑難排解
首先執行診斷指令:機器人不回應訊息
檢查存取控制: 確保您的使用者 ID 在allowFrom 中,或暫時移除 allowFrom 並設定 allowedRoles: ["all"] 進行測試。
檢查機器人在頻道中: 機器人必須加入在 channel 中指定的頻道。
令牌問題
「連線失敗」或認證錯誤:- 驗證
accessToken是 OAuth 存取令牌值(通常以oauth:前綴開始) - 檢查令牌具有
chat:read和chat:write範圍 - 如果使用令牌刷新,驗證
clientSecret和refreshToken已設定
令牌刷新不起作用
檢查日誌的刷新事件:- 確保提供了
clientSecret - 確保提供了
refreshToken
限制
- 每條訊息 500 字元(超過會自動分塊在字邊界)。
- Markdown 被移除後分塊。
- 無速率限制(使用 Twitch 的內建速率限制)。