Skip to content
广告 · 本站推荐广告

Twitch - 直播平台聊天接入 ​

Twitch 是全球最大的游戏直播平台之一。Twitch 的聊天系统基于 IRC(Internet Relay Chat)协议扩展,通过 OAuth 认证即可将 OpenClaw 接入 Twitch 聊天室,实现直播间的自动化交互。

前置要求 ​

  • 一个 Twitch 账号(用于 Bot)
  • 目标频道的 Moderator(管理员)权限(可选,用于管理功能)
  • OpenClaw Gateway(网关)已安装并运行

安装插件 ​

bash
openclaw plugins install @openclaw/twitch

接入步骤 ​

第一步:注册 Bot 账号 ​

建议创建一个专用的 Twitch 账号用于 Bot,避免使用个人账号。

第二步:生成 OAuth Token ​

  1. 使用 Bot 账号登录 Twitch
  2. 访问 Twitch Token Generator 生成 OAuth Token
  3. 点击 Connect with Twitch 授权
  4. 复制生成的 Token(格式:oauth:xxxxxxxxxxxxxx)

安全提示

OAuth Token 等同于账号登录凭证,请妥善保管。如果 Token 泄露,立即在 Twitch 设置中断开第三方应用连接。

第三步:配置 OpenClaw ​

json5
{
  channels: {
    twitch: {
      enabled: true,
      username: "your_bot_name",                // Bot 的 Twitch 用户名
      oauthToken: "oauth:xxxxxxxxxxxxxx",       // OAuth Token
      channels: ["#channel_name"],              // 加入的频道列表(带 # 前缀)
      dmPolicy: "pairing"                       // DM Policy(私信策略)
    }
  }
}

也可以通过 Environment Variable(环境变量)设置:

bash
export TWITCH_USERNAME="your_bot_name"
export TWITCH_OAUTH_TOKEN="oauth:xxxxxxxxxxxxxx"

第四步:重启 Gateway ​

bash
openclaw gateway restart

Bot 将自动连接到 Twitch IRC 服务器并加入配置的频道。

Chat Commands(聊天命令) ​

配置自定义命令前缀:

json5
{
  channels: {
    twitch: {
      commandPrefix: "!",             // 命令前缀
      commands: {
        "!ask": { description: "向 AI 提问" },
        "!reset": { description: "重置对话" },
        "!help": { description: "显示帮助" }
      }
    }
  }
}

用户在聊天室中发送 !ask 今天天气怎么样? 即可触发 Bot 响应。

命令前缀

如果频道中有其他 Bot 也使用 ! 前缀,可以更换为其他字符如 ? 或 ~ 以避免冲突。

多频道配置 ​

json5
{
  channels: {
    twitch: {
      channels: [
        "#channel1",
        "#channel2",
        "#channel3"
      ],
      channelConfig: {
        "#channel1": {
          commandPrefix: "!",
          responseLimit: 500             // 消息长度限制(字符)
        },
        "#channel2": {
          commandPrefix: "?",
          cooldown: 5000                 // 响应冷却时间(毫秒)
        }
      }
    }
  }
}

Moderation(管理)集成 ​

当 Bot 被设为频道 Moderator 时,可以使用管理功能:

json5
{
  channels: {
    twitch: {
      moderation: {
        enabled: true,
        autoTimeout: false,           // 自动超时(禁言)
        logActions: true              // 记录管理操作
      }
    }
  }
}

Moderator 权限

管理功能需要频道主播执行 /mod your_bot_name 将 Bot 设为 Moderator。

Sub-only Mode(订阅者模式) ​

配置 Bot 在 Sub-only Mode 下的行为:

json5
{
  channels: {
    twitch: {
      subOnlyMode: {
        respondToAll: false,           // 仅回复订阅者
        subscriberBadge: true          // 识别订阅者徽章
      }
    }
  }
}

Rate Limiting(速率限制) ​

Twitch IRC 有严格的消息速率限制:

身份限制
普通用户20 条/30 秒
Moderator100 条/30 秒
已验证 Bot7500 条/30 秒
json5
{
  channels: {
    twitch: {
      rateLimit: {
        messagesPerInterval: 20,       // 每间隔最大消息数
        interval: 30000                 // 间隔(毫秒)
      }
    }
  }
}

DM Policy(私信策略) ​

Twitch 的 Whisper(私聊)功能限制较多,建议以频道消息为主:

策略说明
pairing用户需通过 Pairing Code 验证
open响应所有频道消息

常见问题 ​

Bot 无法加入频道 ​

  1. 确认 OAuth Token 有效且未过期
  2. 确认频道名称正确(小写,带 # 前缀)
  3. 检查 Bot 是否被频道 Ban(封禁)

消息被限流丢弃 ​

  1. 确认 Rate Limiting 配置与 Bot 身份匹配
  2. 申请 Twitch Verified Bot 获得更高限额
  3. 增加 cooldown 冷却时间

命令不响应 ​

  1. 确认 commandPrefix 设置正确
  2. 检查 Twitch 是否开启了 Followers-only Mode(仅关注者模式)
  3. 确认 Bot 账号已关注目标频道

🇨🇳 中国用户须知

Twitch 在中国大陆可能需要代理才能稳定访问。

网络问题:Twitch IRC 服务器 irc.chat.twitch.tv 在国内访问不稳定,建议将 Gateway 部署在海外服务器上,或配置代理:

json5
{
  channels: {
    twitch: {
      proxy: "socks5://127.0.0.1:1080"
    }
  }
}

国内替代方案:如果目标用户主要在中国,建议考虑 B站直播(Bilibili Live)API 集成,用户体验更好。

适用场景:面向海外观众的游戏直播、英文内容创作者的聊天互动。

基于MIT协议开源 | 内容翻译自 官方文档,同步更新