Модуль для Discord
Уведомления Twitch
У анонса стрима очень короткий срок годности.
Без прав администратора. Настройка в веб-панели.
Зачем это нужно
Тот, кто прочтёт его, когда трансляция давно кончилась, уже не кликнет, а в следующий раз не станет и читать. Именно на этом ломается ручной анонс: ты в игре, в разговоре, в потоке, и в этот момент никому не приходит в голову набрать строчку в Discord. Бот берёт на себя это одно движение и делает его надёжно. Он смотрит, идёт ли эфир на твоём канале Twitch, и выпускает сообщение, пока оно ещё чего-то стоит, вместе с названием и игрой, о которой сейчас речь.
Как это выглядит в жизни
Ты вписываешь свой ник на Twitch, выбираешь канал в Discord для сообщения и указываешь, кого пингнуть при выходе в эфир: идентификатор роли, @everyone, @here или никого. Дальше всё идёт без тебя. Каждые три минуты бот спрашивает Twitch, и как только там идёт трансляция, сообщение уже в канале. Название стрима, игра и число зрителей попадают во встраиваемое сообщение через подстановки: {streamer}, {title}, {game}, {viewers}. К этому добавляются аватар стримера как маленькая картинка, превью эфира как большая и кнопка, ведущая прямо на канал. Сменишь игру или название посреди эфира, и бот подправит уже опубликованное сообщение, а не пришлёт второе.
Команды этого модуля
/social
Что можно настроить
- Канал Twitch
- Discord-канал для оповещения о стриме
- Упоминание роли
- Текст над встраиванием
- Заголовок эмбеда
- Описание эмбеда
- Подвал
- Цвет эмбеда
- Миниатюра (аватар стримера)
- Большое превью (стрим)
- Показывать отметку времени
- Кнопка «Смотреть на Twitch»
- Автообновление при смене названия/игры
На что обратить внимание
Самое важное в панели не написано: Twitch отвечает только тогда, когда на стороне сервера сохранены доступы к его интерфейсу. Если их нет, бот ничего не находит и молчит; /social status скажет напрямую, есть они или нет. Второе касается упоминания: @everyone при каждом эфире это кратчайший путь к тому, чтобы канал заглушили. Роль, которую человек берёт сам, попадает ровно в тех, кто хочет знать. Третье касается такта: проверка идёт раз в три минуты, значит сообщение может прийти через пару минут после включения. Так задумано, это не поломка. Не объявляй вдобавок вручную, иначе в итоге висят оба. И четвёртое: если посреди эфира оборвётся связь и ты стартуешь заново, Twitch посчитает это отдельной трансляцией. Бот тогда сообщит второй раз, потому что видит новый идентификатор. И напоследок мелочь с большими последствиями: если не заполнено одно из двух обязательных полей (ник на Twitch или целевой канал), модуль не делает ровно ничего и ни на что при этом не жалуется.
Как работает модуль
Твоё имя пользователя Twitch (или URL канала). Бот проверяет каждые несколько минут, идёт ли трансляция на этом канале.
Выберите канал, в котором публикуется уведомление о трансляции (выпадающий список после загрузки каналов).
Произвольный текст над эмбедом (упоминание роли добавляется автоматически в начало). Плейсхолдеры см. ниже.
Пусто = автоматический заголовок. Плейсхолдеры: {streamer} {title} {game} {viewers}
Плейсхолдеры: {streamer} {title} {game} {viewers} {url} {thumbnail}
Настройка в три шага
- Включи модуль «Twitch» в панели и впиши свой ник на Twitch или адрес канала.
- Выбери канал в Discord для анонса: текстовый или анонсовый, в котором боту разрешено писать.
- Задай упоминание: впиши идентификатор роли, @everyone или @here и подтверди клавишей Enter, либо оставь пустым.
- Настрой оформление по вкусу и отправь пробное сообщение через /social test → Twitch Live.
Частые вопросы
Выполни /social status. Если там сказано, что доступы к Twitch отсутствуют, бот вообще не может обратиться к Twitch: их задаёт на стороне сервера тот, кто держит эту установку, а не ты в панели. Если же там показаны твой ник и целевой канал, проверь, текстовый ли это канал или анонсовый и разрешено ли боту там писать.
Бот спрашивает Twitch каждые три минуты. В худшем случае между стартом и анонсом проходит чуть меньше трёх минут. Быстрее не выйдет, зато это срабатывает каждый раз и без твоего участия.
Да. Заголовок, описание, нижняя строка и текст над сообщением свободны; через {streamer}, {title}, {game}, {viewers}, {url} и {thumbnail} ты подтягиваешь настоящие данные эфира. Цвет, отметку времени, аватар, превью и кнопку включаешь по отдельности. Если оставить заголовок и описание пустыми, бот подставит свой вариант.
Ничего. Бот обезвреживает упоминания в значениях, пришедших извне, а название стрима как раз таким и является. Написанное там @everyone останется читаемым, но никакого уведомления не вызовет. Звонит только то, что ты сам вписал как упоминание.
Почему сообщения нет, хотя я в эфире?
Выполни /social status. Если там сказано, что доступы к Twitch отсутствуют, бот вообще не может обратиться к Twitch: их задаёт на стороне сервера тот, кто держит эту установку, а не ты в панели. Если же там показаны твой ник и целевой канал, проверь, текстовый ли это канал или анонсовый и разрешено ли боту там писать.
Как быстро приходит сообщение после включения?
Бот спрашивает Twitch каждые три минуты. В худшем случае между стартом и анонсом проходит чуть меньше трёх минут. Быстрее не выйдет, зато это срабатывает каждый раз и без твоего участия.
Могу ли я написать весь текст сам?
Да. Заголовок, описание, нижняя строка и текст над сообщением свободны; через {streamer}, {title}, {game}, {viewers}, {url} и {thumbnail} ты подтягиваешь настоящие данные эфира. Цвет, отметку времени, аватар, превью и кнопку включаешь по отдельности. Если оставить заголовок и описание пустыми, бот подставит свой вариант.
Что будет, если в названии стрима стоит пинг?
Ничего. Бот обезвреживает упоминания в значениях, пришедших извне, а название стрима как раз таким и является. Написанное там @everyone останется читаемым, но никакого уведомления не вызовет. Звонит только то, что ты сам вписал как упоминание.