Twitch 是全球最大的游戏直播平台。OpenClaw 通过 IRC 协议连接 Twitch 聊天室,让 AI Agent 出现在直播中,与观众实时互动。
安装插件
openclaw plugins install @openclaw/twitch快速配置
第一步:生成 Token
- 选择 Bot Token
- 确认已勾选
chat:read和chat:write权限 - 复制 Client ID 和 Access Token
无需手动注册应用,Token 有效期数小时。
第二步:获取 Twitch 用户 ID
访问 streamweasels 工具,输入主播用户名获取数字 User ID,用于访问控制白名单。
第三步:配置 OpenClaw
最简配置(含安全访问控制):
{
"channels": {
"twitch": {
"enabled": true,
"username": "openclaw-bot",
"accessToken": "oauth:abc123...",
"clientId": "xyz789...",
"channel": "your-channel-name",
"allowFrom": ["123456789"]
}
}
}配置字段说明:
| 字段 | 说明 | 备注 |
|---|---|---|
username | Bot 的 Twitch 账号名(谁在发言) | 必填 |
accessToken | OAuth Token(oauth: 前缀) | 或环境变量 |
clientId | Token Generator 生成的 Client ID | 必填 |
channel | 加入哪个聊天室(主播账号名) | 必填 |
allowFrom | 允许触发 Bot 的用户 ID 列表 | 强烈建议设置 |
⚠️ 安全提示:务必设置
allowFrom或角色访问控制,防止陌生观众随意触发 Bot。requireMention默认为true,需 @提及才响应。
访问控制
方式一:用户 ID 白名单(最安全)
{
"channels": {
"twitch": {
"allowFrom": ["主播user_id", "信任观众user_id"]
}
}
}用户 ID 是数字,不随改名而变化,比用户名更稳定。
方式二:角色权限(按 Twitch 身份)
{
"channels": {
"twitch": {
"allowedRoles": ["broadcaster", "moderator", "subscriber"]
}
}
}可用角色:
| 角色 | 说明 |
|---|---|
broadcaster | 频道主播 |
moderator | 版主 |
subscriber | 订阅者 |
vip | VIP 用户 |
* | 所有人 |
关闭 @提及要求
默认需要 @提及 Bot 才响应,在私人频道或小规模直播中可以关闭:
{
"channels": {
"twitch": {
"requireMention": false,
"allowFrom": ["主播user_id"]
}
}
}Token 自动刷新
Twitch Token 会过期,配置 Client Secret 后可自动刷新:
{
"channels": {
"twitch": {
"accessToken": "oauth:abc123...",
"refreshToken": "your-refresh-token",
"clientSecret": "your-client-secret"
}
}
}或使用环境变量:
export OPENCLAW_TWITCH_ACCESS_TOKEN="oauth:abc123..."
export OPENCLAW_TWITCH_REFRESH_TOKEN="your-refresh-token"若同时在配置文件和环境变量中设置,配置文件优先(环境变量仅作为默认账号的回退)。
多账号支持
同时出现在多个主播的频道中:
{
"channels": {
"twitch": {
"accounts": {
"channel-a": {
"username": "openclaw-bot",
"accessToken": "oauth:token-a",
"clientId": "client-id-a",
"channel": "streamer-a"
},
"channel-b": {
"username": "openclaw-bot",
"accessToken": "oauth:token-b",
"clientId": "client-id-b",
"channel": "streamer-b"
}
}
}
}
}已知限制
- Twitch 聊天消息长度上限 500 字符,超长回复会自动截断或分段发送
- Bot 不支持发送图片、视频等媒体,仅文本
- 每 30 秒最多发送 20 条消息(未验证 Bot),超出会触发频率限制
常见问题
Bot 不响应消息?
检查 requireMention 设置,以及 allowFrom/allowedRoles 是否正确配置。查看 Gateway 日志确认连接状态。
Token 错误?
确认 Token 包含 oauth: 前缀。使用 Token Validator 验证 Token 是否有效。
Token 刷新不工作?
确认 clientSecret 与生成 Token 的应用一致,且 refreshToken 是配套的刷新令牌。
原文:Twitch - OpenClaw | 来源:OpenClaw 官方文档