Twitch - 直播平台聊天接入
Twitch 是全球最大的游戏直播平台之一。Twitch 的聊天系统基于 IRC(Internet Relay Chat)协议扩展,通过 OAuth 认证即可将 OpenClaw 接入 Twitch 聊天室,实现直播间的自动化交互。
前置要求
- 一个 Twitch 账号(用于 Bot)
- 目标频道的 Moderator(管理员)权限(可选,用于管理功能)
- OpenClaw Gateway(网关)已安装并运行
安装插件
openclaw plugins install @openclaw/twitch接入步骤
第一步:注册 Bot 账号
建议创建一个专用的 Twitch 账号用于 Bot,避免使用个人账号。
第二步:生成 OAuth Token
- 使用 Bot 账号登录 Twitch
- 访问 Twitch Token Generator 生成 OAuth Token
- 点击 Connect with Twitch 授权
- 复制生成的 Token(格式:
oauth:xxxxxxxxxxxxxx)
安全提示
OAuth Token 等同于账号登录凭证,请妥善保管。如果 Token 泄露,立即在 Twitch 设置中断开第三方应用连接。
第三步:配置 OpenClaw
{
channels: {
twitch: {
enabled: true,
username: "your_bot_name", // Bot 的 Twitch 用户名
oauthToken: "oauth:xxxxxxxxxxxxxx", // OAuth Token
channels: ["#channel_name"], // 加入的频道列表(带 # 前缀)
dmPolicy: "pairing" // DM Policy(私信策略)
}
}
}也可以通过 Environment Variable(环境变量)设置:
export TWITCH_USERNAME="your_bot_name"
export TWITCH_OAUTH_TOKEN="oauth:xxxxxxxxxxxxxx"第四步:重启 Gateway
openclaw gateway restartBot 将自动连接到 Twitch IRC 服务器并加入配置的频道。
Chat Commands(聊天命令)
配置自定义命令前缀:
{
channels: {
twitch: {
commandPrefix: "!", // 命令前缀
commands: {
"!ask": { description: "向 AI 提问" },
"!reset": { description: "重置对话" },
"!help": { description: "显示帮助" }
}
}
}
}用户在聊天室中发送 !ask 今天天气怎么样? 即可触发 Bot 响应。
命令前缀
如果频道中有其他 Bot 也使用 ! 前缀,可以更换为其他字符如 ? 或 ~ 以避免冲突。
多频道配置
{
channels: {
twitch: {
channels: [
"#channel1",
"#channel2",
"#channel3"
],
channelConfig: {
"#channel1": {
commandPrefix: "!",
responseLimit: 500 // 消息长度限制(字符)
},
"#channel2": {
commandPrefix: "?",
cooldown: 5000 // 响应冷却时间(毫秒)
}
}
}
}
}Moderation(管理)集成
当 Bot 被设为频道 Moderator 时,可以使用管理功能:
{
channels: {
twitch: {
moderation: {
enabled: true,
autoTimeout: false, // 自动超时(禁言)
logActions: true // 记录管理操作
}
}
}
}Moderator 权限
管理功能需要频道主播执行 /mod your_bot_name 将 Bot 设为 Moderator。
Sub-only Mode(订阅者模式)
配置 Bot 在 Sub-only Mode 下的行为:
{
channels: {
twitch: {
subOnlyMode: {
respondToAll: false, // 仅回复订阅者
subscriberBadge: true // 识别订阅者徽章
}
}
}
}Rate Limiting(速率限制)
Twitch IRC 有严格的消息速率限制:
| 身份 | 限制 |
|---|---|
| 普通用户 | 20 条/30 秒 |
| Moderator | 100 条/30 秒 |
| 已验证 Bot | 7500 条/30 秒 |
{
channels: {
twitch: {
rateLimit: {
messagesPerInterval: 20, // 每间隔最大消息数
interval: 30000 // 间隔(毫秒)
}
}
}
}DM Policy(私信策略)
Twitch 的 Whisper(私聊)功能限制较多,建议以频道消息为主:
| 策略 | 说明 |
|---|---|
pairing | 用户需通过 Pairing Code 验证 |
open | 响应所有频道消息 |
常见问题
Bot 无法加入频道
- 确认 OAuth Token 有效且未过期
- 确认频道名称正确(小写,带
#前缀) - 检查 Bot 是否被频道 Ban(封禁)
消息被限流丢弃
- 确认 Rate Limiting 配置与 Bot 身份匹配
- 申请 Twitch Verified Bot 获得更高限额
- 增加
cooldown冷却时间
命令不响应
- 确认
commandPrefix设置正确 - 检查 Twitch 是否开启了 Followers-only Mode(仅关注者模式)
- 确认 Bot 账号已关注目标频道
🇨🇳 中国用户须知
Twitch 在中国大陆可能需要代理才能稳定访问。
网络问题:Twitch IRC 服务器 irc.chat.twitch.tv 在国内访问不稳定,建议将 Gateway 部署在海外服务器上,或配置代理:
{
channels: {
twitch: {
proxy: "socks5://127.0.0.1:1080"
}
}
}国内替代方案:如果目标用户主要在中国,建议考虑 B站直播(Bilibili Live)API 集成,用户体验更好。
适用场景:面向海外观众的游戏直播、英文内容创作者的聊天互动。
