Установка
Twitch поставляется как официальный плагин и не входит в основную установку.- Реестр npm
- Локальная рабочая копия
plugins install регистрирует и включает плагин. При выборе Twitch во время openclaw onboard или openclaw channels add он устанавливается по требованию. Используйте имя пакета без версии, чтобы получать текущий выпуск; закрепляйте точную версию только для воспроизводимых установок. Требуется OpenClaw 2026.4.10 или новее.
Подробнее: Плагины
Быстрая настройка
1
Установите плагин
См. раздел Установка выше.
2
Создайте учётную запись бота Twitch
Создайте отдельную учётную запись Twitch для бота (или используйте существующую).
3
Создайте учётные данные
Используйте Twitch Token Generator:
- Выберите Bot Token
- Убедитесь, что выбраны области действия
chat:readиchat:write - Скопируйте Client ID и Access Token
4
Найдите свой идентификатор пользователя Twitch
Используйте https://www.streamweasels.com/tools/convert-twitch-username-to-user-id/, чтобы преобразовать имя пользователя в идентификатор пользователя Twitch.
5
Настройте токен
- Переменная окружения:
OPENCLAW_TWITCH_ACCESS_TOKEN=...(только для учётной записи по умолчанию) - Или конфигурация:
channels.twitch.accessToken
6
Запустите Gateway
Что это такое
- Канал Twitch, управляемый Gateway.
- Детерминированная маршрутизация: ответы всегда возвращаются в тот канал Twitch, откуда пришло сообщение.
- Каждому подключённому каналу соответствует изолированный ключ группового сеанса
agent:<agentId>:twitch:group:<channel>. username— учётная запись бота (которая проходит аутентификацию), аchannel— чат, к которому нужно присоединиться. Каждая запись учётной записи присоединяется ровно к одному каналу.- Токены работают как с префиксом
oauth:, так и без него; OpenClaw нормализует оба варианта (мастер настройки ожидает форматoauth:).
Обновление токена (необязательно)
Токены из Twitch Token Generator невозможно обновить с помощью OpenClaw — создайте новый токен после истечения срока действия (они действуют несколько часов; регистрация приложения не требуется). Для автоматического обновления создайте собственное приложение в Twitch Developer Console и добавьте:refreshToken в журнал записывается token refresh disabled (no refresh token); без clientSecret используется статический (необновляемый) токен.
Поддержка нескольких учётных записей
Используйтеchannels.twitch.accounts с отдельными учётными данными для каждой учётной записи. Общая схема описана в разделе Конфигурация.
Пример (одна учётная запись бота в двух каналах):
Для каждой записи учётной записи требуется собственное значение
accessToken (переменная окружения применяется только к учётной записи по умолчанию). Учётная запись присоединяется ровно к одному каналу, поэтому для присоединения к двум каналам нужны две учётные записи. channels.twitch.defaultAccount определяет учётную запись по умолчанию.Контроль доступа
allowFrom — строгий список разрешённых идентификаторов пользователей Twitch. Если он задан, allowedRoles игнорируется; не задавайте allowFrom, чтобы вместо этого использовать доступ на основе ролей.
Доступные роли: "moderator", "owner", "vip", "subscriber", "all".
- Список разрешённых идентификаторов пользователей (наиболее безопасно)
- На основе ролей
- Отключение обязательного @упоминания
Почему идентификаторы пользователей? Имена пользователей могут изменяться, что позволяет выдавать себя за другого пользователя. Идентификаторы пользователей постоянны.Свой идентификатор можно найти с помощью преобразователя имени пользователя в идентификатор.
Устранение неполадок
Сначала выполните диагностические команды:Бот не отвечает на сообщения
Бот не отвечает на сообщения
- Проверьте контроль доступа: убедитесь, что ваш идентификатор пользователя указан в
allowFrom, либо временно удалитеallowFromи задайтеallowedRoles: ["all"]для проверки. - Проверьте ограничение по упоминанию: при
requireMention: true(значение по умолчанию) сообщения должны содержать @упоминание имени пользователя бота. - Убедитесь, что бот находится в канале: бот присоединяется только к каналу, указанному в
channel.
Проблемы с токеном
Проблемы с токеном
Ошибка “Failed to connect” или ошибки аутентификации:
- Убедитесь, что
accessTokenсодержит значение токена доступа OAuth (префиксoauth:необязателен) - Убедитесь, что у токена есть области действия
chat:readиchat:write - Если используется обновление токена, убедитесь, что заданы
clientSecretиrefreshToken
Обновление токена не работает
Обновление токена не работает
Проверьте журнал на наличие событий обновления:Если отображается
token refresh disabled (no refresh token):- Убедитесь, что указано значение
clientSecret - Убедитесь, что указано значение
refreshToken
Конфигурация
Конфигурация учётной записи
string
обязательно
Имя пользователя бота (учётная запись, проходящая аутентификацию).
string
обязательно
Токен доступа OAuth с
chat:read и chat:write (из конфигурации или переменной окружения для учётной записи по умолчанию).string
обязательно
Client ID Twitch (из Token Generator или вашего приложения). Необязателен в схеме, но требуется для подключения.
string
обязательно
Канал, к которому нужно присоединиться.
boolean
по умолчанию:"true"
Включить эту учётную запись.
string
Необязательно: для автоматического обновления токена.
string
Необязательно: для автоматического обновления токена.
number
Срок действия токена в секундах (для отслеживания обновления).
number
Временная метка получения токена (для отслеживания обновления).
string[]
Список разрешённых идентификаторов пользователей. Если он задан, роли игнорируются.
Array<"moderator" | "owner" | "vip" | "subscriber" | "all">
Контроль доступа на основе ролей.
boolean
по умолчанию:"true"
Требовать @упоминание для активации бота.
string
Переопределение префикса исходящих ответов для этой учётной записи.
Параметры провайдера
channels.twitch.enabled— включение или отключение запуска каналаchannels.twitch.username/accessToken/clientId/channel— упрощённая конфигурация одной учётной записи (неявная учётная записьdefault; имеет приоритет надaccounts.default)channels.twitch.accounts.<accountName>— конфигурация нескольких учётных записей (все перечисленные выше поля учётной записи)channels.twitch.defaultAccount— имя учётной записи по умолчаниюchannels.twitch.markdown.tables— режим отображения таблиц Markdown (off|bullets|code|block)
Действия инструмента
Агент может отправлять сообщения Twitch через действиеsend инструмента сообщений:
to является необязательным и по умолчанию использует настроенное для учётной записи значение channel.
Безопасность и эксплуатация
- Обращайтесь с токенами как с паролями — никогда не добавляйте токены в git.
- Используйте автоматическое обновление токенов для ботов, работающих продолжительное время.
- Используйте списки разрешённых идентификаторов пользователей, а не имена пользователей, для контроля доступа.
- Отслеживайте журнал, чтобы видеть события обновления токенов и состояние подключения.
- Минимизируйте области действия токенов — запрашивайте только
chat:readиchat:write. - Если устранить проблему не удаётся: перезапустите Gateway, предварительно убедившись, что никакой другой процесс не владеет сеансом.
Ограничения
- 500 символов на сообщение; более длинные ответы разбиваются на части по границам слов.
- Markdown удаляется перед отправкой (чат Twitch использует обычный текст; переводы строк заменяются пробелами).
- OpenClaw не добавляет собственных ограничений частоты запросов; клиент чата Twurple обрабатывает ограничения частоты Twitch.
Связанные материалы
- Маршрутизация каналов — маршрутизация сеансов для сообщений
- Обзор каналов — все поддерживаемые каналы
- Группы — поведение групповых чатов и фильтрация по упоминаниям
- Сопряжение — аутентификация в личных сообщениях и процесс сопряжения
- Безопасность — модель доступа и усиление защиты