OpenClaw Twitch 渠道
通过 IRC 协议将 OpenClaw 连接到 Twitch 聊天,让你的 AI 助手能够与观众实时互动。安装 Twitch 插件,配置具有聊天权限的 OAuth Token,你的机器人即可加入频道、回复提及消息,并通过基于角色的访问控制来管理对话。
Twitch 支持的功能
文本消息
支持
媒体与文件
不支持
消息反应
不支持
消息线程
不支持
语音消息
不支持
群聊
支持
Twitch 前置条件
- 一个用作机器人身份的 Twitch 账号
- 一个具有 chat:read 和 chat:write 权限的 OAuth Access Token
- 从 Twitch Developer Console 获取的 Client ID
- 已安装并运行 OpenClaw Gateway
- 通过 'openclaw plugins install @openclaw/twitch' 安装 Twitch 插件
Twitch 快速设置
安装 Twitch 插件
运行 'openclaw plugins install @openclaw/twitch' 以添加 Twitch 支持。也可以通过本地路径安装:'openclaw plugins install ./extensions/twitch'。
获取 OAuth Token 和 Client ID
访问 twitchtokengenerator.com,选择 'Bot Token' 并勾选 chat:read 和 chat:write 权限。复制生成的 Access Token。此外,从 Twitch Developer Console (dev.twitch.tv/console) 获取你的 Client ID。
配置并启动
在 ~/.openclaw/openclaw.json 中添加 Twitch 频道配置,填入你的 username、accessToken、clientId 和目标频道。运行 'openclaw start' 启动 Gateway,然后在 Twitch 频道中 @提及机器人以验证是否正常工作。
Twitch 配置示例
{
"channels": {
"twitch": {
"enabled": true,
"username": "mybotname",
"accessToken": "oauth:abc123...",
"clientId": "your-client-id",
"channel": "targetchannel",
"allowFrom": ["123456789"]
}
}
}Twitch 深入了解
架构概述
获取凭据
# Environment variable (default account only)
export OPENCLAW_TWITCH_ACCESS_TOKEN=oauth:abc123...Token 自动刷新
{
"channels": {
"twitch": {
"accessToken": "oauth:abc123...",
"clientId": "your-client-id",
"clientSecret": "your-client-secret",
"refreshToken": "your-refresh-token"
}
}
}基于用户 ID 的访问控制
{
"channels": {
"twitch": {
"allowFrom": ["123456789", "987654321"]
}
}
}基于角色的访问控制
{
"channels": {
"twitch": {
"allowedRoles": ["moderator", "vip"]
}
}
}@提及要求
{
"channels": {
"twitch": {
"requireMention": false
}
}
}多账号配置
{
"channels": {
"twitch": {
"accounts": {
"gaming-bot": {
"username": "gamingbot",
"accessToken": "oauth:token1...",
"clientId": "client-id-1",
"channel": "gamingchannel",
"allowedRoles": ["subscriber"]
},
"mod-bot": {
"username": "modbot",
"accessToken": "oauth:token2...",
"clientId": "client-id-2",
"channel": "modchannel",
"allowFrom": ["111222333"]
}
}
}
}
}代理工具动作
{
"action": "twitch",
"params": {
"message": "Hello Twitch!",
"to": "#mychannel"
}
}速率限制与消息约束
Twitch 配置参考
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | 启用或禁用 Twitch 频道 |
| username | string | "" | 机器人使用的 Twitch 账号名称 |
| accessToken | string | "" | 具有 chat:read 和 chat:write 权限的 OAuth Token(必须以 'oauth:' 开头) |
| clientId | string | "" | 从 Twitch Developer Console 获取的 Client ID |
| channel | string | "" | 要加入的目标 Twitch 频道(必填) |
| clientSecret | string | "" | 用于 Token 自动刷新的 Client Secret |
| refreshToken | string | "" | 用于 Token 自动续期的 Refresh Token |
| expiresIn | number | — | Token 过期时间(秒) |
| obtainmentTimestamp | number | — | 当前 Token 获取时间的时间戳(毫秒) |
| allowFrom | string[] | [] | 用于严格访问限制的 Twitch 用户 ID 白名单 |
| allowedRoles | string[] | [] | 基于角色的访问控制(moderator、owner、vip、subscriber、all) |
| requireMention | boolean | true | 机器人是否需要被 @提及才会回复 |
| accounts.<id>.username | string | "" | 多账号模式下特定账号的机器人用户名 |
| accounts.<id>.accessToken | string | "" | 特定账号的 OAuth Token |
| accounts.<id>.channel | string | "" | 特定账号的目标频道 |
启用或禁用 Twitch 频道
机器人使用的 Twitch 账号名称
具有 chat:read 和 chat:write 权限的 OAuth Token(必须以 'oauth:' 开头)
从 Twitch Developer Console 获取的 Client ID
要加入的目标 Twitch 频道(必填)
用于 Token 自动刷新的 Client Secret
用于 Token 自动续期的 Refresh Token
Token 过期时间(秒)
当前 Token 获取时间的时间戳(毫秒)
用于严格访问限制的 Twitch 用户 ID 白名单
基于角色的访问控制(moderator、owner、vip、subscriber、all)
机器人是否需要被 @提及才会回复
多账号模式下特定账号的机器人用户名
特定账号的 OAuth Token
特定账号的目标频道
Twitch 常见问题
Twitch 故障排查
allowFrom 列表中可能未包含你的用户 ID,或者机器人未检测到 @提及。
OAuth Token 无效、已过期,或缺少必要的权限。
clientSecret 或 refreshToken 缺失或不正确。
机器人超出了 Twitch 的速率限制。
频道名称可能不正确,或者账号已被该频道封禁。