Настройка Twitch и EventSub

Используйте обычный захват страницы для простого чата или режим EventSub/WebSocket для новых фолловеров, подписок, Bits, наград, рейдов, Hype Train и управления каналом.

Выберите режим источника Twitch

РежимДля чего подходитВажное различие
Standard Простой захват общедоступного чата со страницы Twitch или отдельного окна чата. Читает то, что предоставляет страница. Это простой способ, но он не даёт полного набора событий EventSub.
WebSocket / EventSub Новые фолловеры, подписки, Bits, награды, рейды, статус стрима, Hype Train, синхронизация модерации, отправка в чат и сведения о канале. Требуется Twitch OAuth. События включаются, только когда это позволяют вошедший аккаунт, его роль на канале, соответствие канала требованиям и предоставленные разрешения.

Настройка настольного приложения

  1. Выберите Добавить источник → Twitch (Add source → Twitch).
  2. Введите логин канала Twitch, используемый в его URL. Для twitch.tv/examplechannel, введите examplechannel.
  3. Оставьте WebSocket выбранным для более функционального источника EventSub. Сейчас Twitch в приложении по умолчанию использует этот режим.
  4. Выберите Активировать источник (Activate source), затем Войти в Twitch (Sign in to Twitch).
  5. Предоставьте запрошенные разрешения и оставьте окно источника Twitch открытым.
Экран входа источника Twitch со способами External browser и Local app
Источник в приложении для компьютера предлагает OAuth через внешний браузер и вход внутри приложения. Внешний браузер обычно проще, если Twitch уже работает в вашем обычном браузере.

Настройка EventSub в расширении браузера

  1. Установите и включите актуальное расширение Social Stream Ninja.
  2. Откройте страницу источника Twitch EventSub.
  3. Замените examplechannel в URL на логин канала, который хотите отслеживать.
  4. Выберите Войти в Twitch (Sign in to Twitch) и подтвердите запрошенный доступ.
  5. Оставьте эту страницу открытой. Перед проверкой оповещений убедитесь, что поля User и Channel заполнены правильно.
https://socialstream.ninja/sources/websocket/twitch.html?channel=CHANNEL_LOGIN

Для простого захвата в стандартном режиме откройте обычную страницу чата Twitch или отдельное окно чата и оставьте чат видимым.

Что запрашивает Twitch

Social Stream запрашивает пользовательский токен с разрешениями, необходимыми поддерживаемым элементам управления и подпискам. Предоставление разрешения не делает аккаунт владельцем канала или модератором; Twitch всё равно проверяет его роль на выбранном канале.

Группа разрешенийНазначение
ЧатЧтение чата, отправка в чат и получение списка участников.
Фолловеры и подписчикиСобытия новых фолловеров, платных подписок, подарочных подписок и сообщения о продлении подписки.
Bits, награды и Hype TrainСообщения Cheer, получение пользовательских наград за баллы канала и состояние Hype Train.
МодерацияУдаление сообщений, баны/временные блокировки и синхронизация блокировок, когда аккаунт может модерировать канал.
Управление каналомЧтение/изменение названия и категории, чтение/управление рекламой и отображение показателей канала.

См. официальные материалы Twitch: справочник разрешений и типы подписок EventSub.

События, которые обрабатывает текущий источник

  • Новые подписчики: new_follower.
  • Подписки: new_subscriber, resub, и subscription_gift.
  • Bits: cheer со значением пожертвования.
  • Баллы канала: reward.
  • Рейды: raid.
  • Статус стрима и рекламы: stream_online, stream_offline, и ad_break.
  • Hype Train: hype_train обновления начала, хода и завершения.
  • Модерация: обновления банов и удалений сообщений при наличии разрешений.

Для событий платных подписок Twitch нужен канал Affiliate/Partner, соответствующий требованиям, и доступ владельца канала. Для подписок на события новых фолловеров и модерации вошедший пользователь должен быть владельцем канала или уполномоченным модератором, в зависимости от события.

Названия оповещений и поля данных для дальнейшей обработки см. в руководствах: Руководство по совместимости событий и оповещений и Справочник событий.

Что проверить в первую очередь, если событие отсутствует

  1. Убедитесь, что страница источника показывает правильное значение Пользователь (User) и Канал.
  2. Оставьте страницу/окно источника открытым и убедитесь, что подключение к чату активно.
  3. Если чат работает, но новые фолловеры/подписки/награды не поступают, выйдите и авторизуйтесь заново, чтобы предоставить текущие разрешения.
  4. Проверьте, является ли вошедший аккаунт владельцем этого канала или модератором с нужными правами.
  5. Убедитесь, что док-панель и оверлей оповещений используют одинаковый ID сеанса Social Stream.
  6. Используйте искусственное тестовое сообщение во всплывающем окне или предпросмотр Multi Alerts, чтобы отделить проблемы захвата от проблем оверлея.

EventSub может доставить одно уведомление несколько раз. Twitch документирует доставку как минимум один раз. Social Stream включает защиту от дубликатов, но собственным потребителям API по возможности также следует устранять дубликаты по идентификатору события/сообщения. См. официальный обзор EventSub.