Dmytro Balaban
Zaproponuj Dmytro pracę nad swoim kolejnym zleceniem.
Ranking
Umiejętności i kwalifikacje
Design i sztuka
Administracja systemami IT
Tłumaczenia
Praca z tekstami
Portfolio
-
4934 PLN Bot Telegram dla międzynarodowej firmy logistycznej KTrans
Tworzenie chatbotaTelegram-bot dla firmy logistycznej
Opracowałem od podstaw Telegram-bota do zarządzania rezerwacjami i logistyką dużej firmy. Bot miał integrować się z korporacyjnym CRM, stroną internetową firmy i działać stabilnie 24/7 dla 500+ aktywnych użytkowników (klienci + zespół).
… Architektura i integracje
Synchronizacja CRM:
Zrealizowałem dwukierunkowe połączenie z CRM przez REST API z buforowaniem na 5 minut. To balansuje aktualność danych (auta mogą zmieniać status) oraz obciążenie API. Bez tego buforowania bot robiłby setki zapytań dziennie.
System ról dostępu:
Podzieliłem użytkowników na 3 poziomy: kierownicy (pełny dostęp), menedżerowie (zarządzanie zgłoszeniami), zwykli klienci (tylko katalog). Tak każdy widzi tylko swoje, a zespół nie widzi cudzych operacji.
Zarządzanie maszyną stanów (FSM):
Użytkownik przechodzi przez scenariusz: wybór miasta → dzielnicy → klasy auta → wypełnienie kontaktów. FSM śledzi kroki, nie pozwala skakać, oblicza szkodliwe błędy wejścia.
Logowanie i monitorowanie
System logów:
Zapisuję w bazie danych każdą akcję użytkownika (wyszukiwanie, rezerwacja, błąd). To pozwala:
Rozwiązywać incydenty (co poszło nie tak i kiedy)
Analizować zachowanie (które auta są popularne, gdzie jest więcej błędów)
Naprawiać błędy z kontekstem, a nie w ślad
24/7 monitorowanie:
Bot działa na serwerze z usługą systemd oraz watchdogiem, który automatycznie restartuje bota w przypadku awarii. Logi rotują się codziennie (przechowuję 14 dni). Otrzymuję powiadomienia przy krytycznych błędach.
Obsługa błędów i odporność
3 typy powtarzających się błędów:
Problemy z siecią (timeout przy zapytaniu do CRM) → powtórzenie po 2 sek
Problemy z bazą danych (zablokowana baza danych) → oczekiwanie + powtórzenie
Problemy z Telegram API → łagodna degradacja (próbujemy później)
Bez tego bot padałby przy pierwszym błędzie, a nie próbowałby się odzyskać.
Blokowanie i bezpieczeństwo:
Zrealizowałem czarną listę (spam, oszuści) oraz mechanizm blokowania użytkowników z pozwoleniem dla menedżerów na zarządzanie nim bezpośrednio z bota.
Wyniki i metryki
Bot przetwarza 50-100 zgłoszeń dziennie bez awarii
Średni czas odpowiedzi bota — 200-300ms
Uptime > 99% w ciągu ostatnich 3 miesięcy
Menedżerowie zaoszczędzili 2-3 godziny dziennie na ręcznym wprowadzaniu danych
Techniczny stos
Język: Python 3.11
Framework: aiogram 3.x (asynchroniczny)
Baza: SQLite (prostota, brak serwera)
CRM: REST API z buforowaniem
Deployment: SSH na własny serwer, usługi systemd, logrotate