Telegram-бот на aiogram для мониторинга DNS и доступности серверов домена unlimy.ru.
Работает в личке и в беседе/группе (по chat_id).
Для записей:
@ -> 178.215.236.22admin -> 178.215.236.22cabinet -> 178.215.236.22node-ne -> 5.129.230.87panel -> 178.215.236.22sub -> 178.215.236.22www -> 178.215.236.22
Бот делает:
- проверку DNS A-записи
- проверку TCP-порта
80 - проверку TCP-порта
443 - сохраняет историю и статистику в SQLite
- шлет alert/recovery в Telegram
/check- ручная проверка/status- последняя проверка/stats- глобальная статистика + по хостам/history- последние 20 хост-проверок/chatid- показатьchat_idтекущей беседы
- Создайте
.envна основе.env.example - Заполните:
BOT_TOKENALLOWED_CHAT_IDS(chat_id беседы, через запятую)- опционально
ALERT_CHAT_IDS(куда слать алерты; если пусто, беретсяALLOWED_CHAT_IDS)
- Запуск:
docker compose up -d --buildЛоги:
docker compose logs -fpython -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python bot.pyBOT_TOKEN- токен Telegram-ботаALLOWED_USER_IDS- список user id через запятую (опционально)ALLOWED_CHAT_IDS- список chat id через запятую (группы/беседы, где бот отвечает)ALERT_CHAT_IDS- список chat id для alert/recovery (если не задан, используютсяALLOWED_CHAT_IDS, затемALLOWED_USER_IDS)CHECK_INTERVAL_SECONDS- интервал автопроверкиDNS_TIMEOUT_SECONDS- timeout DNSTCP_TIMEOUT_SECONDS- timeout TCPTELEGRAM_PROXY_URL- URL прокси для Telegram API. Поддерживаются:socks5://user:pass@host:porthttp://user:pass@host:port- ссылка формата
https://t.me/socks?server=HOST&port=PORT&user=USER&pass=PASS(будет автоматически преобразована)
TELEGRAM_RECONNECT_DELAY_SECONDS- пауза перед автопереподключением polling после сетевой ошибкиLOG_LEVEL-DEBUG/INFO/WARNING/ERRORDB_PATH- путь к sqlite-файлу