透過 IRC 連線支援 Twitch 聊天。OpenClaw 會以 Twitch 使用者(機器人帳號)身分連線,以在頻道中接收與傳送訊息。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
- 本機 checkout
快速設定(初學者)
產生憑證
使用 Twitch Token Generator:
- 選取 Bot Token
- 確認已選取
chat:read和chat:writescopes - 複製 Client ID 和 Access Token
找出你的 Twitch 使用者 ID
使用 https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ 將使用者名稱轉換為 Twitch 使用者 ID。
設定權杖
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(僅預設帳號) - 或 config:
channels.twitch.accessToken
它是什麼
- 由 Gateway 擁有的 Twitch channel。
- 決定性路由:回覆一律回到 Twitch。
- 每個帳號都對應到隔離的 session key
agent:<agentId>:twitch:<accountName>。 username是機器人的帳號(用於驗證身分),channel是要加入的聊天室。
設定(詳細)
產生憑證
使用 Twitch Token Generator:- 選取 Bot Token
- 確認已選取
chat:read和chat:writescopes - 複製 Client ID 和 Access Token
不需要手動註冊應用程式。權杖會在數小時後過期。
設定機器人
- Env var(僅預設帳號)
- 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 搭配每個帳號各自的權杖。共享模式請參閱設定。
範例(一個機器人帳號在兩個頻道中):
每個帳號都需要自己的權杖(每個頻道一個權杖)。
存取控制
- 使用者 ID 允許清單(最安全)
- 以角色為基礎
- 停用 @mention 要求
疑難排解
首先,執行診斷命令:機器人沒有回應訊息
機器人沒有回應訊息
- 檢查存取控制: 確保你的使用者 ID 位於
allowFrom中,或暫時移除allowFrom並設定allowedRoles: ["all"]進行測試。 - 檢查機器人是否在該頻道中: 機器人必須加入
channel中指定的頻道。
權杖問題
權杖問題
「連線失敗」或驗證錯誤:
- 確認
accessToken是 OAuth access token 值(通常以oauth:前綴開頭) - 檢查權杖具有
chat:read和chat:writescopes - 如果使用權杖重新整理,請確認已設定
clientSecret和refreshToken
權杖重新整理無法運作
權杖重新整理無法運作
檢查記錄中的重新整理事件:如果你看到「token refresh disabled (no refresh token)」:
- 確保已提供
clientSecret - 確保已提供
refreshToken
Config
帳號 config
機器人使用者名稱。
具有
chat:read 和 chat:write 的 OAuth access token。Twitch Client ID(來自 Token Generator 或你的應用程式)。
要加入的頻道。
啟用此帳號。
選用:用於自動重新整理權杖。
選用:用於自動重新整理權杖。
權杖到期秒數。
權杖取得時間戳記。
使用者 ID 允許清單。
以角色為基礎的存取控制。
要求 @mention。
Provider 選項
channels.twitch.enabled- 啟用/停用 channel 啟動channels.twitch.username- 機器人使用者名稱(簡化的單帳號 config)channels.twitch.accessToken- OAuth access token(簡化的單帳號 config)channels.twitch.clientId- Twitch Client ID(簡化的單帳號 config)channels.twitch.channel- 要加入的頻道(簡化的單帳號 config)channels.twitch.accounts.<accountName>- 多帳號 config(以上所有帳號欄位)
工具動作
agent 可以使用動作呼叫twitch:
send- 傳送訊息到頻道
安全性與營運
- 將權杖視同密碼 — 絕不要將權杖提交到 git。
- 使用自動權杖重新整理 以支援長時間執行的機器人。
- 使用使用者 ID 允許清單 而不是使用者名稱來做存取控制。
- 監控記錄 以查看權杖重新整理事件和連線狀態。
- 最小化權杖 scopes — 只要求
chat:read和chat:write。 - 如果卡住:確認沒有其他程序佔用 session 後,重新啟動 Gateway。
限制
- 每則訊息 500 個字元(會在單字邊界自動分塊)。
- Markdown 會在分塊前移除。
- 沒有速率限制(使用 Twitch 內建的速率限制)。
相關
- Channel 路由 — 訊息的 session 路由
- Channels 概觀 — 所有支援的 channels
- 群組 — 群組聊天行為與 mention 閘控
- 配對 — DM 驗證與配對流程
- 安全性 — 存取模型與強化