Предисловие
Пару лет назад я опубликовал на этом сайте пост, в котором подробно рассказал о том как настроить автопостинг в канал Telegram о начале стрима на Twitch, с помощью сервиса-автоматизатора Make.
Метод рабочий, но все же имеет некоторые неудобства: надо самому создавать своего бота Telegram через BotFather; нельзя захватывать название/категорию; а также нет очевидного способа, чтобы удалять пост с оповещением по окончанию стрима (во всяком случае, на бесплатном тарифе сервиса Make).
С тех пор утекло много воды, а я с нуля увлекся программированием простейших скриптов. В основном, нацеленных на облегчение ведения соцсетей и разностороннее развитие проекта Mikulski_Radio. Конечно, мои навыки в кодинге, по-прежнему, представляют собой весьма любительский уровень, однако, научившись некоторым трюкам, я все же смог создать Telegram-бота, который умеет автоматически постить оповещения и даже чуть более того.
Как бы то ни было это мой первый опыт в создании общественно полезного приложения, – если что, не судите строго 😉
VKPlayLive_Telegram_Alert_Bot
27.11.2024
VK Play Live переименовались в VK Видео Live
Так как боту нельзя поменять адрес ссылки (нужно создавать нового), то было решено название оставить прежним.
Как очевидно из названия, бот следит за началом/концом стрима заданного канала на VK Видео Live (ex.VKPlayLive), а затем постит/удаляет оповещение в нужном Telegram-канале/чате.
Содержимое поста обновляется, если в настройках указаны превью стрима и/или переменные для названия/категории.
Подойдет всем, кто стримит на VK Видео Live или рестримит туда (ничто не запрещает в тексте поста-оповещения указать ссылки на остальные площадки).
Особенности и Ограничения
- Погрешность срабатывания, т.е. публикации/обновления/удаления поста составляет +/- 1 минуту!
- Информация в опубликованном посте автоматически обновляется (т.е. редактируется ботом) при использовании переменных (название, категория стрима и т.д.) и/или превью.
- Указать можно только по одному каналу. Т.е. один канал для VK Видео Live (ex.VKPlayLive) и один Telegram-канал/чат.
- Для Telegram-чатов с разделением на темы (трэды) можно указать нужную “ветку” для публикаций.
- Премиум-эмодзи Telegram не поддерживаются!
- Для оформления поста можно использовать HTML-разметку, включать превью (кадр с текущей трансляции) и добавлять собственное изображение.
- Хост другого канала воспринимается ботом как будто ВЫ вышли в прямой эфир!
Потому как на данный момент в API нет возможности различать эти два статуса. - Бот бесплатный и не имеет никаких дополнительных функций “за деньги”.
Однако, посильная донатная поддержка категорически приветствуется и расходуется на оплату сервера, где размещен бот.
Настройка
В целом, настройка проста и интуитивна понятна. Единственное, что нужно обязательно ввести все основные данные (по умолчанию, все графы пустые, постинг и авто-удаление отключены).
Для наглядности пройдемся по всем шагам:
Для начала нужно открыть бота по ссылке:
https://t.me/VKPlayLive_Telegram_Alert_Bot
и запустить его.
Первым сообщением он выдаст приветствие, а также отобразится меню с кнопками через которое и будут происходить все манипуляции с ботом.

Добавление бота в ▶️Telegram-канал/чат
Чтобы бот мог публиковать оповещения в заданном Telegram-канале/чате, нужно его туда добавить в качестве администратора и разрешить постить сообщения. Все остальные разрешения можно смело убрать (для чатов – вообще все).
После того, как вы это сделаете, то Id-канала/чата автоматически привяжется к боту и отобразится в строке “Telegram канал
” (кнопка “Проверить настройки”).
Имейте в виду, что бот привязывается к Id последнего канала/чата, где вы его назначили администратором, и обнуляет Id, когда его удаляют или снимают с должности админа.

Для чатов с разделением на темы нужно дополнительно обозначить номер желаемой ветки с помощью команды
/thread
Этот номер можно найти в ссылке на тему чата (например, в t.me/mikulski_rocks/5 – идентификатор темы это 5).
По умолчанию, значение равно 0, что является корректным для обычных каналов и чатов, а для чатов с разделением на темы, оповещения в этом случае будут публиковаться в первом созданном топике.
В любой момент вы можете исключить бота из канала/чата или забрать разрешение на публикацию.
Единственное, что тут важно добавить именно этого бота, если вдруг появятся притворяющиеся им другие боты злоумышленников. Поэтому рекомендую в поисковой запрос вбивать полную ссылку и убедиться, что в результате поиска у бота адрес совпадает c @VKPlayLive_Telegram_Alert_Bot
Добавить бота можно на любом этапе настройки. Главное, не забыть это сделать.
Для каналов это делается следующим образом:Управление каналом -> Администраторы -> Добавить администратора -> Вставить ссылку на этого бота -> OK -> Отключить все тумблеры, кроме Управление сообщений -> Публикация сообщений
*Для чатов можно убрать все разрешения




Теперь нужно пройтись по всем кнопкам и прописать необходимые данные:
Будьте внимательны, когда переходите в меню, где требуется ввести данные: любая нажатая кнопка интерфейса воспринимается как ввод текста!
Чтобы выйти из такого меню не внося изменений, пользуйтесь кнопкой “Отмена”.
🔵VK Видео Live

Нажав на эту кнопку, бот попросит вас отправить ему сообщение с идентификатором вашего канала VK Видео Live.
Можно отправить ссылку целиком, например:
https://live.vkvideo.ru/mikulski
Или только идентификатор(название) канала:mikulski
Соответственно, всегда можно сюда вернуться и ввести идентификатор заново, если вы допустили ошибку или нужно поменять адрес отслеживаемого канала.
📝Пост

Здесь нужно написать текст сообщения, которое будет публиковаться в Telegram-канале/чате.
Учтите, что поле нельзя оставлять пустым – иначе бот ничего не отправит!
Предусмотрены переменные (подставляемые значения), которые подтянутся из данных вашего стрима/канала:
${title} – название стрима;
${game} – категория;
${link} – ссылка на ваш канал VK Видео Live;
${viewers} – кол-во текущих зрителей;
${views} – кол-во просмотров стрима;
${likes} – кол-во лайков под стримом;
${uptime} – время в эфире;
${followers} – кол-во подписчиков (фолловеров) на канале.
Вы можете также прописать любые другие ссылки. Только учитывайте, что Telegram в качестве превью подтянет первую по очереди ссылку.
Доступна HTML-разметка (все тэги, которые поддерживает Telegram).
Используйте ее только если точно знаете, что вы делаете. В случае ошибки (например, незакрытого тэга), текст поста безжалостно сбросится до значений по умолчанию:
${title}
${game}
${link}
Поэтому рекомендуется перед отправкой выделить и скопировать в буфер обмена (ctrl+a, ctrl+c) свое сообщение.
⚠️ВКЛ-ВЫКЛ-Оповещений
Эта кнопка вызывает подменю, в котором можно включить/выключить публикацию сообщений или функцию авто-удаления постов.
Здесь также можно включить/выключить прикрепление к посту изображения с превью стрима (скриншот трансляции) вместо того превью, которое берется из ссылки в посте оповещения.
Если стрим оффлайн или превью не успело сгенерироваться (на это требуется несколько минут), то в качестве картинки сперва подтянется оффлайн обложка канала или аватарка.
Вы также можете установить собственное изображение, указав ссылку на него с помощью команды /image
(загружать изображения в бота напрямую нельзя).
По умолчанию, все отключено.
Желательно отключать оповещения, если вы планируете длительный перерыв в стриминге.

⚙️Проверить-настройки

Кнопка, которая позволяет посмотреть текущие настройки и убедиться,что все настроено верно.
Также можно отправить тестовое оповещение – бот подтянет информацию с канала и укажет на ошибки, если таковые будут.
И затем удалить это сообщение кнопкой тестового удаления.
❓️Помощь/Справка
Кнопка вызывает подменю, в котором можно ознакомиться с инструкцией, найти способы связаться со мной, ну и поблагодарить/поддержать, если есть возможность и желание.

❌Удаление учетных данных
Бот хранит только ваши Telegram-id и id-канала/чата для идентификации нужного профиля при отправке репоста и те данные, которые вы вводите сами в настройках.
Чтобы удалить все хранимые данные и прекратить использование бота, то достаточно в диалоге с ним нажать на верхнюю панель с его названием, чтобы вызвать меню “Информация о боте
” и в самом низу нажать “Остановить и блокировать
“.
Чтобы снова его активировать и начать все с нуля, нажмите “Перезапустить
“.

Результат

После того как все настройки совершены и вы запустите стрим, то с погрешностью в минуту, бот отправит в ваш Telegram канал/чат сообщение.
В примере на скриншоте текст поста указан так (превью отключено):
Стрим!
${title}
${game}
${link}
Когда вы завершите стрим и у вас включено “Авто-удаление постов”, то с той же погрешностью бот удалит сообщение.
Примечательно, что Telegram убирает собственное уведомление после удаления сообщения, то есть оно перестает “висеть” непрочитанным у пользователя.