> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vetox.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Уведомления Twitch

> Объявляйте в Discord, когда стример Twitch выходит в эфир или заканчивает трансляцию, с полностью настраиваемым embed.

<Info>
  Требуется **Basic**. До **10 стримеров** на сервер. См. [как работают уведомления](/ru/notifications/overview) для правил, общих для всех платформ.
</Info>

## Добавление стримера

Ищите канал по имени — Vetox найдёт его на Twitch и подтвердит существование перед добавлением. Имя пользователя, которое не разрешается, отклоняется с ошибкой **Twitch user not found**.

Имена — 1–25 символов, только буквы, цифры и подчёркивания.

## Настройки

| Настройка                     | По умолчанию   | Примечания                                                                      |
| ----------------------------- | -------------- | ------------------------------------------------------------------------------- |
| **Discord Channel**           | —              | Обязательно. Задаётся на стримера, чтобы разные стримеры писали в разные каналы |
| **Notify when online**        | **Вкл**        | Live-объявление                                                                 |
| **Notify when offline**       | **Выкл**       | Второе объявление при завершении стрима                                         |
| **Mention Role**              | Нет            | Пингуется с объявлением                                                         |
| **Custom Notification Embed** | Twitch default | Фиолетовый, с названием стрима, игрой и числом зрителей                         |

## Переменные

| Переменная           | Разворачивается в                                     |
| -------------------- | ----------------------------------------------------- |
| `{streamer.name}`    | Отображаемое имя стримера                             |
| `{streamer.url}`     | URL их канала Twitch                                  |
| `{streamer.avatar}`  | Их аватар                                             |
| `{stream.title}`     | Название стрима — **только live-объявление**          |
| `{stream.game}`      | Транслируемая категория — **только live**             |
| `{stream.viewers}`   | Число зрителей на момент объявления — **только live** |
| `{stream.thumbnail}` | Превью стрима — **только live**                       |

<Warning>
  Четыре переменные `{stream.*}` не имеют значения в **оффлайн**-объявлении. Любое поле embed, построенное из них, исчезает из этого сообщения. Держите оффлайн-embed только на переменных `{streamer.*}`.
</Warning>

## Как обнаруживается выход в эфир

Vetox проверяет каждые **60 секунд** и отслеживает, идёт ли стрим на канале.

<Steps>
  <Step title="Offline → live">
    Объявление срабатывает, с учётом **10-минутного кулдауна** на стримера.
  </Step>

  <Step title="Всё ещё live">
    Ничего. Состояние просто обновляется — длинный стрим порождает ровно одно объявление.
  </Step>

  <Step title="Live → offline">
    Оффлайн-объявление срабатывает, если вы его включили.
  </Step>
</Steps>

<Warning>
  **Добавление уже стримящего стримера ничего не объявит.** Трекер срабатывает на переходе, а не на текущем состоянии. Первое объявление вы получите на их следующем стриме.
</Warning>

<Note>
  Стрим, кратко отвалившийся и переподключившийся в окне кулдауна, породит одно объявление, а не два — это намеренно, и поэтому кулдаун 10 минут, а не 1.
</Note>

## Настройка на практике

<Steps>
  <Step title="Включите Twitch в настройках сервера">
    По умолчанию выключен. Ничего не работает, пока не включён.
  </Step>

  <Step title="Добавьте стримера">
    Ищите его имя и выберите из результатов.
  </Step>

  <Step title="Выберите канал и роль">
    Отдельный канал `#going-live` и роль `@Stream Ping`, которую участники подписывают через [Self-Roles](/ru/engagement/self-roles), — паттерн, к которому приходят большинство серверов.
  </Step>

  <Step title="Проверьте права бота там">
    View Channel, Send Messages и **Embed Links**.
  </Step>

  <Step title="Дождитесь их следующего стрима">
    Не судите по добавлению кого-то посреди стрима.
  </Step>
</Steps>

## Устранение неполадок

<AccordionGroup>
  <Accordion title="Они вышли в эфир, и ничего не опубликовано">
    Проверьте переключатель Twitch в настройках сервера, активность премиума и Embed Links в канале. Если вы добавили их, пока они уже стримили, — это ожидаемо, дождитесь следующего стрима.
  </Accordion>

  <Accordion title="Игра или число зрителей отсутствуют">
    Вы смотрите оффлайн-объявление. Эти переменные существуют только в live.
  </Accordion>

  <Accordion title="Смена канала не применилась">
    Очистка поля канала ничего не отправляет и тихо сохраняет старое значение. Выберите другой канал, а не очищайте.
  </Accordion>

  <Accordion title="Два сервера следят за одним стримером, но пинг пришёл только на один">
    Оба должны сработать. Если права одного канала не прошли, эта запись теряется без повтора — проверьте Embed Links на неработающей стороне.
  </Accordion>
</AccordionGroup>

<Card title="Kick" icon="tower-broadcast" horizontal href="/ru/notifications/kick">
  Та же модель live/offline на Kick.
</Card>
