Development системы уведомлений торгового бота (email, Telegram, Discord)
Система уведомлений — это ранняя система предупреждения. Бот открыл крупную позицию в ночное время, сработал стоп-лосс, потеряно соединение с биржей — оператор должен узнать об этом немедленно, а не утром при просмотре логов.
Типы событий и приоритеты
Не все события одинаково важны. Правильная классификация определяет канал и срочность доставки:
| Приоритет | Событие | Канал |
|---|---|---|
| Критический | Ошибка подключения к бирже, аварийная остановка | SMS + звонок |
| Высокий | Срабатывание SL, крупный убыток, ошибка ордера | Telegram + email |
| Средний | Открытие/закрытие позиции | Telegram |
| Низкий | Дневной отчёт P&L, изменение конфигурации | |
| Информационный | Heartbeat, технический debug | Только лог |
Мультиканальная доставка
Telegram: лучший канал для real-time уведомлений. Bot API позволяет отправлять форматированные сообщения, inline buttons для быстрых действий. Delivery rate практически 100% при наличии интернета у получателя.
Email: для отчётов и неспешных уведомлений. SMTP через SendGrid, Mailgun или AWS SES. HTML-шаблоны для красивых дневных отчётов с таблицами P&L.
Discord: для командной работы. Webhooks для постинга в каналы без необходимости полноценного Discord-бота.
SMS: только для критических алертов. Twilio или AWS SNS. Дороже остальных каналов, поэтому только самое важное.
Надёжность доставки
Уведомление о критическом событии должно дойти даже если Telegram API недоступен 30 секунд. Retry logic с exponential backoff: первая попытка — немедленно, вторая — через 5 сек, третья — через 15 сек, затем через 1 мин. После 5 неудачных попыток — переключение на резервный канал.
Dead letter queue: уведомления которые не удалось доставить сохраняются и отправляются когда канал восстановился.
Дедупликация: одно событие не должно генерировать несколько идентичных уведомлений. Если цена продолжает падать, не нужно отправлять alert каждую секунду — один раз при первом пересечении threshold, потом при восстановлении.
Настраиваемые правила
Хорошая система уведомлений позволяет пользователю настроить что и когда получать: порог убытка для alert, расписание дневного отчёта, какие события из какого бота отправлять в какой канал. Это превращает систему из hardcoded в гибкий инструмент.
Несложная система уведомлений для одного бота — 1-2 недели разработки. Полноценная мультиканальная с надёжной доставкой и гибкой настройкой — 3-4 недели.







