Dmytro Osadchyi
Zaproponuj Dmytro pracę nad swoim kolejnym zleceniem.
Ranking
Umiejętności i kwalifikacje
Portfolio
-
Bot-administrator czatów (Moderator)
Tworzenie chatbotaJesteś właścicielem czatu i masz dość ręcznego usuwania spamu, wulgaryzmów oraz witania nowych uczestników?
Opracuję dla Ciebie niezawodnego bota-administratora, który weźmie rutynę na siebie.
Twój czat będzie działał 24/7, nawet gdy śpisz.
…
Co potrafi ten bot: Efektowne powitanie: Bot automatycznie taguje nowych uczestników i proponuje zapoznanie się z zasadami (tekst dostosowujemy do Ciebie).
Surowy filtr: Natychmiastowe usuwanie wiadomości z linkami (reklama konkurencji) lub wulgarnym językiem.
System kar: Automatyczne "mute" (zakaz pisania) naruszycieli na 1 godzinę (lub inny czas).
Zarządzanie dla admina: Możliwość "wybaczenia" i odmutowania użytkownika jednym poleceniem.
Część techniczna:
Bot pisany jest w Pythonie (aiogram 3.x) — to nowoczesna, szybka i asynchroniczna biblioteka. Bot wytrzyma duże obciążenie.
Czysty kod, który łatwo utrzymać.
Co otrzymasz:
Gotowy plik skryptu bota.
Instrukcję uruchomienia (pomogę uruchomić na Twoim komputerze lub serwerze).
Bezpłatne wsparcie przez 3 dni po oddaniu projektu.
Co potrzebujesz od Ciebie na start:
Token bota (pomogę uzyskać w @BotFather).
Tekst powitania i link do zasad.
Lista słów, które należy zablokować (opcjonalnie).
Bot przedstawiony w przykładzie, jego szata graficzna została opracowana w kilka godzin, i nie jest pełnym odzwierciedleniem potencjału tego, co można naprawdę opracować, funkcjonalność i kod zostały opracowane czysto jako przykład w portfolio.
-
Telegram E-commerce Web App Nowoczesny sklep wewnątrz Telegramu
Tworzenie chatbotaOpracowałem pełnoprawny sklep internetowy oparty na Telegram Web Apps (modna technologia 2024-2025).
Problem: Zwykłe boty z przyciskami są niewygodne do wyboru produktów. Rozwiązanie: Zintegrowałem pełnoprawny interfejs webowy, który otwiera się bezpośrednio w czacie. To zwiększa konwersję sprzedaży.
… Co zostało zrealizowane: SPA (Single Page Application) frontend bez przeładowań. Animacje i wibracje (User Experience jak w aplikacjach Apple/Android). Synchronizacja koszyka między stroną a botem. Panel administracyjny (opcjonalnie, można dopisać, że planowane).
Stos: Python (Aiogram), JavaScript, HTML/CSS.
-
Bot konwerter walut
Tworzenie chatbotaOto szczegółowy opis tego, jak działa ten bot, podzielony na to, co widzi użytkownik, i to, co dzieje się w kodzie.
1. Dla użytkownika (Interfejs)
Bot działa jak kreator krok po kroku:
…
Start (/start):
Użytkownik uruchamia bota.
Bot wita się i od razu pokazuje przyciski z wyborem waluty (USD, EUR). To wygodniejsze niż pisanie nazw walut ręcznie.
Wybór waluty:
Kiedy użytkownik naciska przycisk (na przykład, USD), bot zapamiętuje ten wybór.
Przyciski znikają, a bot prosi o wprowadzenie kwoty.
Wprowadzenie kwoty:
Użytkownik wpisuje liczbę (na przykład 100, 50.5 lub 200,50).
Bot rozumie zarówno kropkę, jak i przecinek jako separator.
Wynik:
Bot wysyła raport, w którym obliczono dwie wartości:
Ile hrywien potrzeba, aby kupić tę kwotę waluty.
Ile hrywien otrzymasz, jeśli wymienisz tę kwotę waluty.
Pokazywany jest również aktualny kurs w danym momencie.
Przycisk "Jeszcze raz":
Pod wynikiem pojawia się przycisk "Inna kwota/waluta", który zwraca użytkownika na początek (do wyboru walut).
2. Część techniczna (Logika kodu)
Oto co robi skrypt:
Praca z API PrivatBanku:
Bot nie przechowuje kursów w bazie danych. Za każdym razem, gdy użytkownik wprowadza kwotę, bot wykonuje rzeczywiste zapytanie do serwerów PrivatBanku (biblioteka aiohttp). To gwarantuje, że kurs jest zawsze najświeższy.
Maszyna stanów (FSM):
Bot używa pamięci (MemoryStorage), aby wiedzieć, na jakim etapie znajduje się konkretny użytkownik.
Scenariusz: Nic -> Czekamy na walutę -> Czekamy na kwotę -> Obliczenie -> Reset.
To pozwala wielu osobom korzystać z bota jednocześnie, a ich zapytania się nie mieszają.
Walidacja (Sprawdzanie danych):
Ochrona przed błędami: Jeśli zamiast liczby wpiszesz tekst, bot nie wyłączy się z błędem, a poprosi o poprawne wprowadzenie liczby (obsługa ValueError).
Formatowanie: Bot automatycznie zamienia przecinek na kropkę, aby program mógł wykonać działania matematyczne.
Asynchroniczność:
Używane jest async/await. Oznacza to, że podczas gdy bot czeka na odpowiedź od banku dla jednego użytkownika, może odpowiadać innym użytkownikom bez opóźnień.
Podsumowanie
To prosty, ale niezawodny kalkulator walut w czasie rzeczywistym. Konwertuje USD/EUR na UAH i odwrotnie, wykorzystując aktualne dane banku.
Można również łatwo dodać wiele innych walut, dwie waluty przedstawione są jako przykład tego, jak działa sam bot.
-
Telegram-bot do zamawiania prac studenckich
Kod realizuje bota Telegram do zamawiania prac studenckich (referaty, prezentacje, laboratoria) z wbudowanym systemem kolejkowym i ręczną weryfikacją płatności przez administratora. Bot napisany jest w Pythonie z wykorzystaniem biblioteki aiogram 3.x.
1. Główna funkcjonalność i role
Bot ma dwie strony interakcji:
…
Student (Klient): Wybiera usługę, wypełnia formularz, wysyła zadanie, płaci i czeka na realizację.
Administrator (Wykonawca): Otrzymuje zgłoszenia, akceptuje/odrzuca je, weryfikuje płatność i wysyła gotową pracę.
2. Scenariusz pracy dla Studenta
Start (/start):
Student widzi powitanie, godziny pracy oraz liczbę osób w kolejce w czasie rzeczywistym.
Pojawia się menu z przyciskami usług (ceny stałe) oraz przycisk kontaktu z adminem.
Ciekawostka: Przycisk "Kursach" nie uruchamia automatycznego scenariusza, a po prostu podaje kontakt do admina w celu indywidualnej dyskusji.
Złożenie zamówienia (FSM - Maszyna stanów):
Kiedy student wybiera usługę (na przykład "Laba - 200 zł"), bot kolejno pyta:
Kurs (liczba).
Nazwa przedmiotu.
Własne zadanie (tekst, zdjęcie, plik lub link).
Po wysłaniu zadania student automatycznie dodawany jest do Globalnej Kolejki (QUEUE) i otrzymuje swój numer w niej.
Płatność:
Jeśli admin zaakceptował zadanie, student otrzymuje przycisk z linkiem do Banku (Monobank) oraz przycisk "Zapłaciłem".
Po naciśnięciu "Zapłaciłem", bot prosi o podanie imienia i nazwiska płatnika do weryfikacji.
Odbiór pracy:
Po potwierdzeniu płatności przez admina, student czeka.
Kiedy praca jest gotowa, student otrzymuje plik bezpośrednio od bota.
3. Scenariusz pracy dla Administratora
Moderacja zgłoszenia:
Kiedy student wysyła zadanie, admin otrzymuje pełną wiadomość ze wszystkimi szczegółami i plikami.
Przyciski:
Zaakceptować: Student otrzymuje rachunek do zapłaty.
Odrzucić: Student zostaje usunięty z kolejki, otrzymuje odmowę.
Weryfikacja płatności:
Kiedy student pisze, że zapłacił (i podaje imię i nazwisko), admin otrzymuje zapytanie.
Przyciski:
Pieniądze są: Zamówienie przechodzi w status "W realizacji".
Pieniędzy nie ma: Student zostaje usunięty z kolejki, otrzymuje odmowę.
Wysyłka gotowej pracy:
Admin używa ukrytej komendy /send.
Bot pyta o ID studenta (kod cyfrowy).
Bot pokazuje, czy ten student jest w kolejce.
Admin wysyła plik/tekst odpowiedzi.
Finał: Bot przesyła plik studentowi i automatycznie usuwa go z kolejki, zwalniając miejsce.