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协议开源 | 内容翻译自 官方文档,同步更新