Skip to main content
Підтримка чату Twitch через інтерфейс чату Twitch (IRC) за допомогою клієнта Twurple. OpenClaw входить у систему як обліковий запис бота Twitch, приєднується до одного каналу для кожного налаштованого облікового запису та відповідає в цьому каналі.

Встановлення

Twitch постачається як офіційний Plugin і не входить до базового встановлення.
plugins install реєструє та вмикає Plugin. Вибір Twitch під час openclaw onboard або openclaw channels add встановлює його за потреби. Використовуйте назву пакета без версії, щоб отримувати поточний випуск; фіксуйте точну версію лише для відтворюваних установлень. Потрібна версія OpenClaw 2026.4.10 або новіша. Докладніше: Плагіни

Швидке налаштування

1

Установіть Plugin

Див. розділ Встановлення вище.
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

Додайте контроль доступу (allowFrom або allowedRoles), щоб неавторизовані користувачі не могли активувати бота. Типове значення requireMentiontrue.
Мінімальна конфігурація:

Що це таке

  • Канал Twitch, яким керує Gateway.
  • Детермінізована маршрутизація: відповіді завжди надсилаються назад у канал Twitch, з якого надійшло повідомлення.
  • Кожен приєднаний канал зіставляється з ізольованим ключем групового сеансу agent:<agentId>:twitch:group:<channel>.
  • username — обліковий запис бота (який автентифікується), а channel — чат-кімната, до якої потрібно приєднатися. Один запис облікового запису приєднується рівно до одного каналу.
  • Токени працюють із префіксом oauth: або без нього; OpenClaw нормалізує обидва варіанти (майстер налаштування очікує формат із oauth:).

Оновлення токена (необов’язково)

Токени з Twitch Token Generator не можуть оновлюватися OpenClaw — створіть їх повторно після завершення строку дії (вони діють кілька годин; реєстрація застосунку не потрібна). Для автоматичного оновлення створіть власний застосунок у Twitch Developer Console і додайте:
Якщо задано обидва параметри, Plugin використовує постачальник автентифікації з оновленням, який поновлює токени до завершення строку їхньої дії та записує кожне оновлення в журнал. Без 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.
Помилка «Не вдалося підключитися» або помилки автентифікації:
  • Переконайтеся, що 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
обов'язково
Ідентифікатор клієнта 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.

Пов’язані розділи