Запилил алерты и АХ#ЕЛ!!!
Изначально мой бот был тупым калькулятором:
Раз в 10 минут долбил CoinGecko API
Кэшировал курсы, чтобы не задудосили
Конвертил BTC в USD и обратно — ну просто пиздец как скучно
Но потом я решил: «Хочу, чтобы бот орал, когда крипта летит к хуям или в космос!»
1. Переход на WebSocket Binance
CoinGecko — лажа, там нет вебсокетов. Пришлось подключать Binance.
Что ожидал:
Красивые алерты в реальном времени
Умный бот, который не спамит
Что получил:
Говнокод, который падает с синтаксическими ошибками
Бесконечные костыли
2. Первая жесть: серверный пиздец
На компе всё работало, а на сервере — SyntaxError в строке:
Что сделал:
Разбил на две строки, ибо сервер — долбоёб:
Вывод:
Локальный тест ≠ продакшен. Сервер — это пиздец.
3. Пропадающие настройки: пиздец в квадрате
Включил алерты на BTC, перешёл в конвертер — настройки слетели.
В чём проблема?
Оказалось, конвертер перезаписывал всю хуйню:
Как починил:
Сделал нормальную структуру:
Итог:
JSON и datetime — ебучие уёбки.
4. Конфликт ботов: адский пиздец
Запустил нового бота — старый не хотел умирать.
Логи:
Что пробовал:
Решение:
Добавил в systemd:
И просто подождал 2 минуты — Telegram API тормознутое говно.
5. Спам-апокалипсис: бот ебнулся
Когда ETH подскочила на 7%, бот начал нести хуйню:
Как пофиксил:
Добавил дебаунсинг и порог срабатывания:
Вывод:
Без ограничений бот превращается в еблана-спамера.
Итог: что получилось
✅ Алерты в реальном времени — WebSocket рулит
✅ Яркие уведомления
✅ Стабильная работа — после тонны костылей
Выводы:
Логируй всё — без логов ты в жопе.
Тестируй на сервере — локально ≠ продакшен.
Не доверяй datetime — JSON его ненавидит.
systemd — мразь — убивать процессы надо жёстко.
Главный урок:
«Если код работает с первого раза — значит, ты что-то забыл.»
P.S. Пишите комменты! Деконструктивная и агрессивная критика приветствуется!🚀