首页 资讯 下载 教程 Skills 社群

OpenClaw 对接 Twitch 直播聊天教程

前言

Twitch 是全球最大的游戏直播平台之一。通过 OpenClaw 对接 Twitch 聊天室,你可以为直播间添加一个 AI 聊天机器人,与观众互动、回答问题或执行自定义命令。

前置要求

  • 已安装并运行 OpenClaw
  • 一个 Twitch 账号(建议创建专用的 Bot 账号)
  • 你的 Twitch 直播频道

安装 Twitch 插件

openclaw plugins install @openclaw/twitch

创建 Bot 账号

强烈建议创建一个专用的 Twitch 账号作为机器人,不要使用你的主播账号:

  1. 注册新的 Twitch 账号,命名为如 YourName_Bot
  2. 在你的直播频道中将 Bot 账号设为 Moderator(可选但推荐)

获取 Bot Token

使用 Twitch Token Generator

访问 Twitch Token Generator 获取 OAuth Token。

所需权限(Scopes):

  • chat:read - 读取聊天消息
  • chat:write - 发送聊天消息(即 chat:edit

生成后你会得到一个 Access Token 和 Refresh Token。

手动获取(高级)

如果需要更精细的控制,可以通过 Twitch Developer Console 注册应用:

  1. 访问 Twitch Developer Console
  2. 注册新应用,获取 Client ID 和 Client Secret
  3. 使用 OAuth 授权流程获取 Token
# OAuth 授权 URL
https://id.twitch.tv/oauth2/authorize?client_id=你的ClientID&redirect_uri=http://localhost:3000&response_type=code&scope=chat:read+chat:edit

获取用户 ID

Twitch 的 allowFrom 等配置需要使用数字用户 ID 而非用户名。获取方式:

# 通过 Twitch API 查询用户 ID
curl -H "Authorization: Bearer 你的Token" \
  -H "Client-Id: 你的ClientID" \
  "https://api.twitch.tv/helix/users?login=用户名"

返回结果中的 id 字段即为用户 ID。

也可以使用在线工具如 Twitch ID Lookup 进行转换。

OpenClaw 频道配置

channels:
  - type: twitch
    accessToken: "你的Access Token"
    clientId: "你的Client ID"
    channel: "你的直播频道名"
    requireMention: true
    allowFrom:
      - "123456789"     # 用户 ID
      - "987654321"
    allowedRoles:
      - "moderator"
      - "subscriber"

配置项说明

配置项 说明 示例
accessToken Bot 的 OAuth Token oauth:xxxxxxxxx
clientId 应用的 Client ID xxxxxxxxxxxxxxxxx
channel 目标直播频道名 your_channel_name
requireMention 是否需要 @ 机器人 true / false

用户权限控制

allowFrom(用户白名单)

通过用户 ID 精确控制谁可以与 AI 互动:

allowFrom:
  - "123456789"   # 主播本人
  - "234567890"   # 管理员
  - "345678901"   # VIP 观众

如果不设置 allowFrom,将根据 allowedRoles 控制访问。

allowedRoles(角色权限)

基于 Twitch 聊天室角色控制访问权限:

allowedRoles:
  - "owner"        # 频道所有者(主播)
  - "moderator"    # 频道管理员
  - "vip"          # VIP 用户
  - "subscriber"   # 订阅者
  - "all"          # 所有用户

可以组合多个角色:

# 仅主播和管理员可以使用 AI
allowedRoles:
  - "owner"
  - "moderator"

# 订阅者及以上可以使用
allowedRoles:
  - "owner"
  - "moderator"
  - "vip"
  - "subscriber"

requireMention

在活跃的直播聊天中,建议开启 requireMention,避免 AI 对每条弹幕都做出回应:

requireMention: true

观众需要 @ 机器人名称才能触发 AI 回复:

@OpenClaw_Bot 这个游戏怎么通关?

Token 刷新机制

Twitch 的 Access Token 有效期有限(通常约 4 小时),需要配置自动刷新。

注册 Client Application

在 Twitch Developer Console 中注册应用获取 Client ID 和 Client Secret,然后配置自动刷新:

channels:
  - type: twitch
    accessToken: "你的Access Token"
    refreshToken: "你的Refresh Token"
    clientId: "你的Client ID"
    clientSecret: "你的Client Secret"
    channel: "your_channel_name"

配置了 refreshTokenclientSecret 后,OpenClaw 会在 Token 过期前自动使用 Refresh Token 获取新的 Access Token,无需手动干预。

# 手动测试 Token 刷新
curl -X POST "https://id.twitch.tv/oauth2/token" \
  -d "grant_type=refresh_token" \
  -d "refresh_token=你的RefreshToken" \
  -d "client_id=你的ClientID" \
  -d "client_secret=你的ClientSecret"

多账号支持

如果你管理多个直播频道,可以配置多个 Twitch 连接:

channels:
  - type: twitch
    name: "游戏频道"
    accessToken: "token1"
    clientId: "client1"
    channel: "gaming_channel"
    allowedRoles: ["all"]

  - type: twitch
    name: "教程频道"
    accessToken: "token2"
    clientId: "client2"
    channel: "tutorial_channel"
    allowedRoles: ["subscriber"]

使用场景

观众问答

设置 AI 回答直播间观众的常见问题:

观众:@Bot 主播用的什么键盘?
Bot:主播使用的是客制化机械键盘,轴体为佳达隆 V2 银轴。

内容总结

让 AI 总结直播间讨论的内容或实时提供信息。

互动游戏

结合 AI 的创造力,设计直播间互动小游戏。

常见问题

Bot 无法发送消息

  1. 确认 Token 包含 chat:write(或 chat:edit)权限
  2. 检查 Bot 账号是否被直播间禁言
  3. 确认频道名称拼写正确(全小写)

Token 频繁过期

确保配置了 refreshTokenclientSecret,让 OpenClaw 自动刷新 Token。如果仍有问题,检查 Client Application 的设置是否正确。

AI 回复过于频繁

在活跃的直播间中,开启 requireMention 并合理设置 allowedRoles,限制触发 AI 的条件:

requireMention: true
allowedRoles: ["moderator", "vip", "subscriber"]

消息被 Twitch 限流

Twitch 对机器人有消息发送频率限制。如果机器人是频道 Moderator,限制会放宽。避免短时间内发送大量消息。

总结

Twitch 频道对接让 AI 助手成为直播间的互动工具。合理配置角色权限和提及要求可以平衡互动性和聊天室秩序。记得配置 Token 自动刷新机制,确保机器人长时间稳定运行。