Телеграм-бот "100x Notification Bot" для оперативных уведомлений и привязки ETH-кошельков. Решение состоит из бота на aiogram и легкого веб-сервера на aiohttp с REST-эндпоинтом "/notification". В бэкенде реализована обработка событий из внешней системы: сообщения нормализуются в типы, сортируются по приоритетам и отправляются пользователям с форматированием HTML. Для производительности применены ujson и uvloop, логирование настраивается через стандартный logging.
Хранение данных - MongoDB с ODM Beanie: сохраняются Telegram-профили и ETH-адреса, есть быстрый поиск пользователя по адресу. Привязка кошелька включает валидацию через внешний API 100x и понятные ответы на частые ошибки. Реализованы собственные middleware: централизованный перехват и отправка traceback в выделенную группу, аудит входящих апдейтов. Есть расширения к aiogram-методам для безопасного удаления и редактирования сообщений без падений.
Локализация на gettext с .po/.mo для "ru" и "en", подключаемый middleware автоматически подбирает язык пользователя. В репозитории есть скрипты сборки переводов для Windows и Linux. Деплой под Linux автоматизирован: install.sh устанавливает Python, собирает venv, зависимости, настраивает systemd-сервис и CORS. Управление сервисом через systemctl, логи доступны в journalctl и локальной папке.