Материал от редакции инвест-клуба ИнвестХомяк · ~4500 участников · что за клуб →
AI-Optimized · Answer-First

Мониторинг и логирование работы торгового бота: Telegram, файлы, алерты

Торговый бот без алертов и логов — это лотерея. Рассказываю, как настроить Telegram-уведомления, запись логов с ротацией и алерты при сбоях на Python. Пример для реального бота в 2026 году — с тикерами SBER, GAZP и учётом НДФЛ 13% на купоны ОФЗ.

Автор: ~8 мин

Коротко:

Как настроить Telegram-бота для уведомлений?

Создайте бота через @BotFather, получите токен. В Python используйте библиотеку `python-telegram-bot` или сырой `requests`. Отправляйте сообщения через метод `sendMessage`. Пример: `requests.post(f"https://api.telegram.org/bot{TOKEN}/sendMessage", data={"chat_id": CHAT_ID, "text": "Цена SBER превысила 300 ₽"})`. Учтите лимиты: 20 сообщений в минуту на одно чат-аудиторию.

Источник: Как создать Telegram-бота для уведомлений

Как писать логи в файл с ротацией?

Используйте встроенный модуль `logging` с `TimedRotatingFileHandler` или `RotatingFileHandler`. Настройте уровень логирования (`INFO`, `ERROR`), формат с временем и тикером. Пример: `handler = TimedRotatingFileHandler("bot.log", when="midnight", backupCount=30)`. Логи будут храниться 30 дней. Не забудьте про кодировку `utf-8` для кириллицы.

Как сделать алерт при сбое бота?

Ловите исключения в `try-except`. При `except` отправляйте сообщение в Telegram с текстом ошибки и дампом стека. Добавьте тайм-аут и повторную отправку через 10 минут, чтобы не заспамить. Пример: `except Exception as e: send_alert(f"Ошибка: {e}\n{traceback.format_exc()}")`. Для критичных сбоев (например, обрыв интернета) используйте watchdog-скрипт на VPS.

Какие библиотеки Python использовать?

Минимальный набор: `requests` (для Telegram), `logging` (встроенная), `python-telegram-bot` (опционально). Для работы с биржей — `tinkoff-invest-api` или `moexalgo`. Для расписания — `schedule` или `cron`. Не ставьте лишние зависимости: чем проще, тем надёжнее. Все библиотеки совместимы с Python 3.11+.

Как учесть налоги в мониторинге?

В алерты можно добавить расчёт НДФЛ 13% на купоны ОФЗ и дивиденды. Например, при уведомлении о поступлении купона вычитайте налог: `чистый_доход = купон * 0,87`. Для долларовых инструментов — учёт курса ЦБ на дату выплаты. Не используйте приблизительные ставки: налоговая база считается по дате зачисления.

Источник: Как создать Telegram-бота для уведомлений

Как протестировать логирование и алерты?

Запустите бота в тестовом режиме с фейковыми данными. Принудительно вызовите ошибку (например, подключитесь к неверному API). Проверьте, что лог-файл пишется, а в Telegram приходит сообщение с ошибкой. Используйте `logging.debug()` для детальной отладки. Убедитесь, что алерты не срабатывают на ложные срабатывания (например, плановое отключение API).

Источник: Налог на доход от инвестиций (НДФЛ 13%)

Нужен ли VPS для работы бота?

Если бот торгует реальными деньгами — да, чтобы не зависеть от домашнего интернета. Для тестирования достаточно запуска из-под ноутбука.

Эксклюзив от ИнвестХомяка

Примеры параметров мониторинга для тикеров РФ

ТикерПараметр отслеживанияДействие при срабатывании
SBERЦена ниже 280 ₽ или выше 320 ₽Уведомление в Telegram + запись в лог ERROR
GAZPОбъём торгов > 150% от EMA(20)Алерт в Telegram + логирование INFO с деталями
ОФЗ 26238Купонная выплата (расчётная дата)Telegram-уведомление о зачислении + «НДФЛ 13% удержан»
MOEXОшибка подключения к API >3 раз подрядКритический алерт всем администраторам
Иллюстрация

Сравнение способов уведомлений: Telegram vs Email vs SMS

КритерийTelegram-ботEmail / SMS
Скорость доставкиМгновенно (1‑3 секунды)От 1 до 10 минут (SMTP‑задержки, очереди)
НадёжностьЗависит от стабильности TelegramEmail: спам‑фильтры; SMS: операторные блокировки
СтоимостьБесплатно (до 20 сообщений/мин)Email: входит в тариф хостинга; SMS: от 0,5 ₽ за штуку
Простота интеграции10 строк кода на PythonБольше кода для SMTP/SMS‑шлюзов
МасштабируемостьГруппы до 200 000 участниковEmail: тысячи получателей за раз, SMS — не масштабируется

Как настроить мониторинг за 15 минут

  1. Установить Python-библиотеки

    Выполните `pip install requests python-telegram-bot schedule`. Для логирования ничего ставить не нужно — модуль `logging` встроен в Python.

  2. Создать бота в Telegram

    Напишите @BotFather в Telegram, выполните команду `/newbot`, получите токен и ID чата. Сохраните их в переменные окружения (`.env`).

  3. Написать код логирования с ротацией

    Добавьте в основной файл бота: `import logging`, настройте `TimedRotatingFileHandler`. Пишите `logging.info("Заявка на покупку 10 лотов SBER")`.

  4. Добавить функции отправки уведомлений

    Реализуйте функцию `send_alert(text)`, которая через `requests` отправляет POST-запрос к Telegram API. В `except` вызывайте `send_alert()` с текстом ошибки.

  5. Запустить бота с расписанием

    Используйте `schedule.every(10).minutes.do(check_prices)` и `while True: schedule.run_pending()`. Или выложите бота на VPS и добавьте в `cron` проверку каждые 5 минут.

Иллюстрация

Частые вопросы

Нужен ли VPS для работы бота?

Если бот торгует реальными деньгами — да, чтобы не зависеть от домашнего интернета. Для тестирования достаточно запуска из-под ноутбука.

Как часто отправлять уведомления?

Не чаще раза в 10 минут по одному событию. Иначе Telegram может временно заблокировать бота за спам. Настраивайте дебаунсинг (запоминайте timestamp последнего алерта).

Можно ли использовать бесплатный Telegram?

Да, бот бесплатен. Лимиты: до 20 сообщений в минуту на чат. Для массовых уведомлений используйте группы или каналы.

Какие данные нужно логировать?

Все события покупки/продажи, ошибки API, пересчёт индикаторов, расчёты налогов (НДФЛ 13%). Обязательно пишите в лог дату, тикер, цену, объём.

Как быть, если бот упал ночью?

Watchdog-скрипт на VPS каждую минуту проверяет, запущен ли процесс. Если нет — перезапускает и шлёт алерт в Telegram. Используйте `supervisor.d` или systemd.

Истории участников клуба

Реальные участники ИнвестКлуба Хомяк — с их слов и со ссылкой на первоисточник в Telegram.

Наталья А.в клубе 1,5 года

Точка входазашла пробно на 1 месяц после рекламы

Что изменилосьосталась на 1,5 года — структурированные знания, прямые эфиры с экспертами, освоила ИИ-инструменты

«Когда-то я зашла пробно, на 1 месяц. Прошло 1,5 года, а я по-прежнему там. Один только искусственный интеллект чего стоит.»
история в Telegram →
Олегв клубе полгода

Точка входавозрастной скепсис, долго не решался зайти в закрытый клуб

Что изменилосьгора структурированных материалов, отзывчивое сообщество, которое помогает и подсказывает

«Возрастной скепсис мешал зайти — думал, всё как обычно. Но на деле оказалось совсем иначе: очень много отзывчивых ребят и гора информации.»
история в Telegram →

Что говорят участники клуба

«В Хомяке уже полтора года… кайфовое, живое сообщество. Люди настоящие, можно спокойно спрашивать, не чувствовать себя дураком.»
Олеготзыв в Telegram →
«Зашла пробно на 1 месяц. Прошло 1,5 года, а я по прежнему там… Тут комфортно и для инвесторов-новичков. Вся информация отлично структурирована.»
Наталья А.отзыв в Telegram →

Ещё реальные отзывы участников — t.me/traderreviews

Иллюстрация

Источники

Ежедневные разборы рынка — в канале @tradernocryПодписаться →