@alertinua_bot

Панель моніторингу

@alertinua_bot
Період

Події за період

Активні тривоги

Статистика тривог

Проблеми конфігу

    За чатами

    Останні невдачі

    Останні відправлення

    Лог

    Як бот вирішує, що надсилати

    Два джерела, обидва одночасно

    Кожні 18 секунд бот питає обидва джерела разом (офіційне — не частіше ніж раз на 30 секунд: у нього жорсткий ліміт на кількість запитів, і при перевищенні воно відповідає 401, ніби зламався токен): alerts.in.ua (у текстах — джерело 1) і офіційне map.ukrainealarm.com (джерело 2). Нумерація локацій у них спільна, тож одна тривога — це один запис, хоч скільки джерел про неї сказали.

    Офіційне джерело вмикається лише за наявності UKRAINEALARM_TOKEN. Без нього бот працює рівно як раніше, на одному alerts.in.ua.

    Як зводяться дві відповіді

    • Рівень — найсуворіший із двох. Якщо одне джерело каже «жовтий», а друге «червоний», піде червоний.
    • Початок тривоги — найраніший із двох.
    • Загрози (%threats%) — об'єднання без дублів. Офіційне джерело дає причину словами («Ракетна загроза») — вона перекладається в ту саму назву загрози, що й у alerts.in.ua.
    • Джерела — %source% перелічує всі, що підтвердили подію, через кому: повний варіант доменами, %source_short% — номерами 1 і 2.

    Коли джерело не відповідає

    Джерело, яке віддало будь-яку помилку, у цьому циклі не враховується: воно нікого не тримає живим, і відбій не зависає через мовчазне джерело. Якщо не відповіло жодне — цикл пропускається цілком: порожня відповідь означала б відбій усіх тривог у країні.

    Виняток стосується подій, які випливають не з ефіру, а з нашої сліпоти. Таких дві:

    • зниження рівня, коли мовчить саме те джерело, що бачило суворіший рівень. У Куп'янському районі alerts.in.ua бачить жовтий, а офіційне — червоний: без цього правила кожен невдалий запит давав би «знижено», а наступний цикл — «підвищено» назад;
    • відбій тривоги, яку бачило лише мовчазне джерело. Повітряна тривога у Вовчанській ТГ є тільки в офіційного: без правила кожен його збій давав «відбій», а через 19 секунд — «тривогу» знову.

    Якщо тривогу вело ще й джерело, яке відповіло, відбій іде одразу. Початок і підвищення працюють як завжди — їх мовчазне джерело вигадати не може.

    «Мовчить» означає щойно моргнуло. Джерело, недоступне понад 10 хвилин, більше не притримує нічого: його тривоги нормально добігають до відбою, а в лог іде окремий рядок про цей перехід.

    Чому не приходить двічі

    Подія — це адресат + локація + тип + рівень + перехід. Дедуплікація йде саме за цим, а не за текстом повідомлення. Тому та сама тривога, що прилетіла від другого джерела на кілька секунд пізніше, нікого не турбує вдруге. І навпаки: два різних переходи з однаковим текстом не злипнуться в один.

    Довідник локацій

    Раз на добу бот звіряє каталог з офіційним довідником. У панелі — і в цьому дереві, і у вибиралці — показується офіційна назва, вона довша й однозначніша. У текстах повідомлень %loc% лишається назва з каталогу; там, де вони різні, каталожна написана поруч сірим.

    Якщо локація зникає з офіційного довідника, а на неї є ввімкнена підписка — бот пише про це в Telegram і ставить біля неї бедж зникла з довідника. Поки бедж стоїть, ця підписка нічого не зловить.

    Чого офіційне джерело не покриває

    м. Севастополь, чотири окупованих райони Луганщини з їхніми громадами і дубль Миколаївської ТГ (1181). Для них джерелом лишається тільки alerts.in.ua. Крим у них під іншим номером — бот це враховує.

    Підписки

    Завантаження…