Можливості
Гнучкість та незалежність платформ — Telegram, YouTube, Discord та Twitch повністю опціональні. Ви можете вмикати чи вимикати будь-яку комбінацію платформ (достатньо мати активним хоча б один канал сповіщень: Telegram або Discord) у будь-який момент через вікно “⚙️ Налаштування” в треї, без перезапуску програми та без втрати збережених ключів.
Розумна автоматизація з локальним кешем — автоматичне визначення типу контенту (Live / Upcoming / Video / Short) за допомогою комбінації YouTube RSS та YouTube Data API v3, без потреби в OAuth-авторизації. Оскільки сам RSS-фід YouTube обмежений останніми ~15 записами каналу, програма веде локальний кеш: заплановані трансляції зберігаються в ньому без обмеження за часом, доки не настане їхня дата, — навіть якщо за цей час ви опублікуєте достатньо іншого контенту, щоб анонс випав з вікна RSS. На випадок тривалого збою самого RSS-фіду є опціональний запасний шлях напряму через YouTube Data API — з’являється лише в банері помилки, коштує квоти (~202 одиниці на запуск) і вимагає окремого підтвердження; на момент випуску не мав живої перевірки в реальних умовах.
Надіслати сповіщення — єдине вікно для будь-якого анонсу з живим прикладом повідомлення окремо для Telegram і Discord ще до відправки. За бажанням можна покластись на автопідбір останнього опублікованого контенту або обрати конкретне відео зі списку кандидатів — кожен пункт показує мініатюру, назву й реальну дату публікації чи старту трансляції, що зручно, коли кілька публікацій одного дня мають схожі назви. Поля дати й часу трансляції мають кнопки календаря, вибору години/хвилини та миттєвої підстановки поточного часу — набирати вручну більше не обов’язково. Поле посилання є необов’язковим: якщо воно порожнє, відповідні рядки із заповнювачем {url} автоматично прибираються з повідомлення, запобігаючи появі битих посилань. Якщо вставлене посилання не схоже ні на YouTube, ні на Twitch, з’являється м’яке попередження, яке не блокує відправку.
Повністю ручний режим — перемикач “✍️ Повністю ручний режим” вимикає будь-яку підстановку шаблону: окремі текстові поля для Telegram (HTML-теги на кшталт <b>, <a href>) і Discord (Markdown, теги ролей/користувачів) — відправляється рівно те, що введено, порожнє поле означає “не надсилати на цю платформу”. Тут-таки доступні генератори готових до копіювання позначок часу (окремо для Telegram і Discord) та згадок Discord (роль/користувач/канал — досить лише вставити ID); нічого не підставляється в текст автоматично, лише генерується для копіювання кнопкою. У цьому ж режимі можна прикріпити до 10 зображень (скріншотів, фото) — спільну галерею для обох платформ, вибір лише через провідник, з мініатюрами й кнопкою видалення для кожного файлу.
Кілька каналів Discord — довільна кількість іменованих каналів Discord (наприклад, тестовий чи іншомовний) на додачу до основного. У вікні надсилання при двох і більше налаштованих каналах з’являється галочка, яка дозволяє свідомо обрати, куди піде конкретне сповіщення; автоматичні сповіщення завжди йдуть в основний канал.
Налаштовуваний часовий пояс — більше не захардкоджений на київський час: при першому запуску автоматично підставляється системною зоною цього комп’ютера, коректно враховує перехід літній/зимовий час і зберігається незмінним, навіть якщо системний час комп’ютера пізніше зміниться (відрядження, VPN тощо). Існуючі інсталяції без цього налаштування й далі коректно працюють за київським часом.
Гнучкі шаблони — вбудований редактор шаблонів для кожного типу контенту окремо для Telegram та Discord (зокрема заголовок embed та тіло повідомлення). Підтримуються змінні:
{title}— назва контенту;{url}— посилання;{twitch}— посилання на Twitch;{scheduled_telegram}та{scheduled_discord}— час початку запланованої трансляції (для Telegram у читабельному форматі з урахуванням літнього/зимового часу, для Discord — у форматі Unix timestamp із динамічним відображенням відносного часу).
Форматування — Discord embed з можливістю додавання мініатюри, вибору кольору та згадуванням ролі, а також Telegram HTML-форматування з гнучким керуванням прев’ю посилань.
Зручність та конфіденційність — програма згортається у системний трей і не заважає під час роботи. Секретні поля (токени, ключі) за замовчуванням приховані маскою з можливістю перегляду. Інтерфейс є повністю двомовним (UA/EN).
Вимоги
Програма підтримує роботу на Windows 10/11 (x64 та x86). Доступні кілька варіантів збірок:
- Self-contained (
win-x64/win-x86) — повністю готові до роботи версії, які не потребують встановлення додаткового ПЗ. - Generic — полегшена версія, яка потребує встановленого у системі .NET 10 Desktop Runtime.
Завантаження
Актуальні релізи та готові збірки під різні архітектури доступні на сторінці GitHub Releases.
Безпека та прозорість
Вихідний код проєкту є повністю відкритим. Усі API-ключі (Telegram Bot Token, YouTube API Key, Discord Webhook) вказуються користувачем та зберігаються локально у файлі appsettings.json поруч із виконуваним файлом. Локальний кеш контенту (content-cache.json), який може містити назви ще неанонсованих запланованих трансляцій, так само зберігається лише на диску користувача. Ці дані ніколи не передаються на сторонні сервери.
Подяки
- Telegram.Bot — клієнт Telegram Bot API.
- Google.Apis.YouTube.v3 — робота з YouTube Data API v3.
- Microsoft.Extensions.Configuration — керування конфігурацією програми.