Встроенный Plugin
Twitch поставляется как встроенный Plugin в текущих релизах OpenClaw, поэтому обычным пакетным сборкам не требуется отдельная установка.
- npm registry
- Local checkout
Быстрая настройка (для начинающих)
Ensure plugin is available
Текущие пакетные релизы OpenClaw уже включают его. Более старые или пользовательские установки могут добавить его вручную командами выше.
Create a Twitch bot account
Создайте отдельный аккаунт Twitch для бота (или используйте существующий аккаунт).
Generate credentials
Используйте Twitch Token Generator:
- Выберите Bot Token
- Убедитесь, что выбраны области доступа
chat:readиchat:write - Скопируйте Client ID и Access Token
Find your Twitch user ID
Используйте https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/, чтобы преобразовать имя пользователя в ID пользователя Twitch.
Configure the token
- Env:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(только аккаунт по умолчанию) - Или конфиг:
channels.twitch.accessToken
Что это такое
- Канал Twitch, принадлежащий Gateway.
- Детерминированная маршрутизация: ответы всегда возвращаются в Twitch.
- Каждый аккаунт сопоставляется с изолированным ключом сессии
agent:<agentId>:twitch:<accountName>. username— это аккаунт бота (который проходит аутентификацию),channel— чат, к которому нужно присоединиться.
Настройка (подробно)
Создание учетных данных
Используйте Twitch Token Generator:- Выберите Bot Token
- Убедитесь, что выбраны области доступа
chat:readиchat:write - Скопируйте Client ID и Access Token
Ручная регистрация приложения не нужна. Токены истекают через несколько часов.
Настройка бота
- Env var (default account only)
- Config
Контроль доступа (рекомендуется)
allowFrom для жесткого списка разрешенных пользователей. Используйте allowedRoles, если нужен доступ на основе ролей.
Доступные роли: "moderator", "owner", "vip", "subscriber", "all".
Почему ID пользователей? Имена пользователей могут меняться, что допускает выдачу себя за другого. ID пользователей постоянны.Найдите свой ID пользователя Twitch: https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/ (Преобразуйте свое имя пользователя Twitch в ID)
Обновление токена (необязательно)
Токены из Twitch Token Generator нельзя обновлять автоматически — создавайте их заново после истечения срока действия. Для автоматического обновления токена создайте собственное приложение Twitch в Twitch Developer Console и добавьте в конфиг:Поддержка нескольких аккаунтов
Используйтеchannels.twitch.accounts с токенами для каждого аккаунта. Общий шаблон см. в разделе Конфигурация.
Пример (один аккаунт бота в двух каналах):
Каждому аккаунту нужен собственный токен (один токен на канал).
Контроль доступа
- User ID allowlist (most secure)
- Role-based
- Disable @mention requirement
Устранение неполадок
Сначала выполните диагностические команды:Bot does not respond to messages
Bot does not respond to messages
- Проверьте контроль доступа: Убедитесь, что ваш ID пользователя указан в
allowFrom, или временно удалитеallowFromи задайтеallowedRoles: ["all"]для проверки. - Проверьте, что бот находится в канале: Бот должен присоединиться к каналу, указанному в
channel.
Token issues
Token issues
“Failed to connect” или ошибки аутентификации:
- Убедитесь, что
accessToken— это значение токена доступа OAuth (обычно начинается с префиксаoauth:) - Проверьте, что у токена есть области доступа
chat:readиchat:write - Если используется обновление токена, убедитесь, что заданы
clientSecretиrefreshToken
Token refresh not working
Token refresh not working
Проверьте журналы на наличие событий обновления:Если вы видите “token refresh disabled (no refresh token)”:
- Убедитесь, что указан
clientSecret - Убедитесь, что указан
refreshToken
Конфиг
Конфиг аккаунта
Имя пользователя бота.
Токен доступа OAuth с
chat:read и chat:write.Client ID Twitch (из Token Generator или вашего приложения).
Канал, к которому нужно присоединиться.
Включить этот аккаунт.
Необязательно: для автоматического обновления токена.
Необязательно: для автоматического обновления токена.
Срок действия токена в секундах.
Метка времени получения токена.
Список разрешенных ID пользователей.
Контроль доступа на основе ролей.
Требовать @mention.
Параметры провайдера
channels.twitch.enabled- Включить/отключить запуск каналаchannels.twitch.username- Имя пользователя бота (упрощенный конфиг для одного аккаунта)channels.twitch.accessToken- Токен доступа OAuth (упрощенный конфиг для одного аккаунта)channels.twitch.clientId- Client ID Twitch (упрощенный конфиг для одного аккаунта)channels.twitch.channel- Канал, к которому нужно присоединиться (упрощенный конфиг для одного аккаунта)channels.twitch.accounts.<accountName>- Конфиг для нескольких аккаунтов (все поля аккаунта выше)
Действия инструментов
Агент может вызватьtwitch с действием:
send- Отправить сообщение в канал
Безопасность и эксплуатация
- Обращайтесь с токенами как с паролями — Никогда не коммитьте токены в git.
- Используйте автоматическое обновление токенов для долгоживущих ботов.
- Используйте списки разрешенных ID пользователей вместо имен пользователей для контроля доступа.
- Отслеживайте журналы на предмет событий обновления токенов и состояния подключения.
- Минимизируйте области доступа токенов — Запрашивайте только
chat:readиchat:write. - Если вы застряли: перезапустите Gateway после подтверждения, что никакой другой процесс не владеет сессией.
Ограничения
- 500 символов на сообщение (автоматически разбивается по границам слов).
- Markdown удаляется перед разбиением.
- Нет ограничения частоты отправки (используются встроенные ограничения частоты Twitch).
Связанные разделы
- Маршрутизация каналов — маршрутизация сессий для сообщений
- Обзор каналов — все поддерживаемые каналы
- Группы — поведение групповых чатов и ограничение по упоминанию
- Pairing — аутентификация в DM и процесс Pairing
- Безопасность — модель доступа и усиление защиты