norogamiDEVНаписать в Telegram
Все проекты

TWITCH · TELEGRAM · DISCORD

Уведомления о Twitch-стримах

Сервис для стримеров и сообществ, которым нужны объявления об эфирах. Отслеживает Twitch-каналы и отправляет карточки в Telegram и Discord. Во время стрима обновляет сообщение, после завершения меняет его статус.

Продукт
Сервис уведомлений для стримеров
Мой вклад
Интеграция Twitch, уведомления, хранение состояния и запуск
Формат
Собственный проект
Twitch

Объявление об эфире в Telegram и Discord с обновлением той же карточки.

Задача

Сообщать сообществу о начале эфира и сохранять уведомление актуальным. Показывать название, игру, превью и число зрителей, затем отмечать завершение стрима.

Из чего состоит

Отслеживание Twitch
Проверка нескольких каналов и определение начала, продолжения и завершения эфира.
Telegram и Discord
Публикация карточки в двух сервисах. Сохранённые идентификаторы позволяют обновлять уже отправленные сообщения.
Карточка эфира
Название стрима, игра, число зрителей, превью и ссылка на Twitch.
Обновление уведомлений
Сервис обновляет карточку во время эфира. Превью меняется раз в пять минут. После завершения эфира изображение и число зрителей убираются из карточки.
Сохранение состояния
База SQLite хранит состояние эфиров и идентификаторы сообщений. После перезапуска сервис продолжает работать с сохранёнными карточками.
Запуск и обновления
Сервис запускается через systemd. Автоматическое развёртывание проверяет запуск и возвращает предыдущую версию при ошибке.

Моя работа

Подключаю Twitch, Telegram и Discord, разрабатываю отправку и обновление уведомлений. Добавляю хранение состояния, обработку завершения эфира и автоматическое развёртывание на сервере.

Технологии

  • Python
  • Twitch API
  • Telegram Bot API
  • Discord API
  • SQLite
  • systemd

Как работает

Для каждого эфира сохраняются идентификаторы сообщений в Telegram и Discord. Сервис редактирует их во время стрима, а при удалённом сообщении может создать замену.

После окончания эфира карточка остаётся в сообществе с отметкой о завершении. Если превью временно недоступно, Telegram-уведомление сохраняет текст и ссылку.

Состояние хранится в базе, поэтому обычный перезапуск не требует начинать учёт уведомлений заново.

Результат

Уведомления о Twitch-эфирах в Telegram и Discord, которые обновляются по ходу стрима. Сервис хранит состояние и отмечает завершение эфира в существующей карточке.

Следующий проект

Магазин цифровых товаров

Обсудим
ваш проект.

Напишите, что хотите разработать и кому это нужно. Обсудим функции, сроки и бюджет, затем запуск и дальнейшую поддержку.

Написать в Telegram