Kostya Romanchuk
Zaproponuj Kostya pracę nad swoim kolejnym zleceniem.
Ranking
Poziom znajomości języków obcych
Umiejętności i kwalifikacje
Programowanie
Grafiki, audio i wideo
Aplikacje mobilne
Administracja systemami IT
Portfolio
-
615 PLN Panel internetowy do automatyzacji i zarządzania wysyłkami Telegram
Programowanie stron internetowychTo jest panel sterowania, napisany w Pythonie z użyciem frameworka FastAPI, który służy jako graficzny interfejs dla wcześniej opisanego skryptu automatyzacji wysyłek w Telegramie (core_logic.py). Panel pozwala użytkownikowi zarządzać kontami Telegram, uruchamiać wysyłki i śledzić ich wykonanie przez przeglądarkę. Do przechowywania danych używana jest baza danych SQLAlchemy.
Kluczowe możliwości
… Centralne zarządzanie kontami: Interfejs webowy pozwala dodawać nowe, przeglądać listę istniejących oraz usuwać konta Telegram z bazy danych wraz z ich plikami sesji.
Autoryzacja webowa: Zrealizowano krokowy proces dodawania nowych kont bezpośrednio przez przeglądarkę. Użytkownik wprowadza numer telefonu, następnie kod potwierdzający z Telegramu, a w razie potrzeby, hasło dwuskładnikowej autoryzacji (2FA). System przetwarza wszystkie etapy, tworzy plik sesji i zapisuje konto.
Uruchamianie i konfigurowanie kampanii: Użytkownik może wybierać konta do udziału w wysyłce i uruchamiać zadania w tle. Dla każdej kampanii można określić indywidualne ustawienia (na przykład pliki z celami i wiadomościami).
Wykonywanie zadań w tle: Wysyłki są wykonywane jako procesy w tle (BackgroundTasks). Oznacza to, że użytkownik może zamknąć stronę w przeglądarce, a zadanie będzie kontynuowane na serwerze.
Monitorowanie w czasie rzeczywistym: Panel wyświetla bieżący status zadania (na przykład "Gotowy do uruchomienia", "Wykonywane", "Zakończone", "Błąd") i pozwala przeglądać ostatnie wpisy z pliku logów, co umożliwia śledzenie postępu i diagnozowanie problemów.
Bezpieczne zatrzymanie: Przewidziano możliwość wysłania sygnału do poprawnego zatrzymania bieżącego zadania. Skrypt zakończy swoją bieżącą akcję (na przykład wysyłanie wiadomości) i zatrzyma się, nie przerywając procesu nagle.
Logika działania
Użytkownik otwiera stronę główną, gdzie widzi tabelę ze wszystkimi dodanymi kontami Telegram i ich statusami, a także panel sterowania do uruchamiania zadań.
Dodawanie konta: Użytkownik wypełnia formularz, podając numer telefonu i inne ustawienia (proxy, pliki). Serwer inicjuje proces autoryzacji przez Telethon, wysyłając kod na podany numer. Po wprowadzeniu kodu (i hasła 2FA, jeśli to konieczne) serwer zapisuje plik sesji i dodaje wpis o koncie do bazy danych.
Uruchamianie kampanii: Użytkownik wybiera jedno lub kilka aktywnych kont, konfiguruje parametry i naciska przycisk "Start".
Przeglądarka wysyła zapytanie do serwera. Serwer (FastAPI) przyjmuje to zapytanie, sprawdza, czy nie jest wykonywane inne zadanie, i uruchamia główną logikę wysyłki (run_script_logic) w tle.
Użytkownik natychmiast zostaje przekierowany z powrotem na stronę główną, gdzie widzi, że status zadania zmienił się na "Uruchamiane..." lub "Wykonywane".
JavaScript na stronie okresowo wysyła zapytania do serwera w celu uzyskania aktualnego statusu i logów, aktualizując informacje na ekranie bez przeładowania strony.
Po zakończeniu wysyłki status automatycznie aktualizuje się na "Zakończone" lub "Błąd".
-
328 PLN Bot fitnessowy w Telegramie
Tworzenie chatbotaTo jest bot Telegram, napisany w Pythonie z użyciem biblioteki python-telegram-bot. Jego głównym celem jest dostarczanie użytkownikom programów treningowych na podstawie ich płci, celu (utrata wagi, przyrost masy itp.), wzrostu i wagi. W celu interakcji z użytkownikiem bot wykorzystuje krokowy dialog (ConversationHandler), co sprawia, że proces jest intuicyjny.
Główne komponenty i ich przeznaczenie
… Biblioteka python-telegram-bot: To podstawa, która zapewnia interakcję z API Telegramu. Kod wykorzystuje jej asynchroniczną wersję (async def), co jest nowoczesną praktyką.
ConversationHandler: To kluczowy element logiki bota. Pozwala na stworzenie "dialogu" z użytkownikiem, który składa się z kilku kroków lub "stanów". Bot kolejno zadaje pytania i czeka na odpowiedzi, przechodząc od jednego stanu do drugiego.
Stany (States):
Zmienne SELECT_GENDER, GET_HEIGHT itd. — to unikalne identyfikatory dla każdego kroku rozmowy. Pomagają ConversationHandler zrozumieć, na jakim etapie dialogu znajduje się użytkownik i którą funkcję wywołać następnie.
Klawiatury (ReplyKeyboardMarkup):
Zamiast zmuszać użytkownika do wpisywania tekstu ("Mężczyzna", "Utrata wagi"), bot oferuje gotowe przyciski. Zmniejsza to prawdopodobieństwo błędów i sprawia, że interfejs jest bardziej przyjazny. W kodzie znajdują się trzy różne klawiatury: do wyboru płci, do wyboru celu przez mężczyzn i kobiety.
Dane treningów (male_programs, female_programs):
To dwa duże słowniki (dictionaries), które stanowią "bazę danych" bota. Zawierają gotowe programy treningowe, uporządkowane według płci, celu i dni tygodnia. Obecnie te dane są na stałe zapisane w kodzie.
Funkcje-obsługiwacze (Handlers):
start: Uruchamia dialog, wita użytkownika i proponuje wybór płci.
select_gender, select_male_goal, select_female_goal: Obsługują wybór użytkownika z klawiatury, zapisują dane (context.user_data) i zadają następne pytanie.
get_height, get_weight: Odbierają wiadomości tekstowe, przekształcają je w liczby, sprawdzają poprawność i zapisują.
show_workout_program: Końcowa funkcja. Zbiera wszystkie zapisane dane, oblicza Wskaźnik Masy Ciała (BMI) i znajduje odpowiedni program treningowy w słownikach. Następnie formułuje dużą wiadomość tekstową i wysyła ją do użytkownika.
cancel: Pozwala użytkownikowi w dowolnym momencie przerwać dialog komendą /cancel.
Logika działania (Krokowy scenariusz)
Użytkownik wysyła komendę /start.
Bot odpowiada powitalną wiadomością i pokazuje klawiaturę z przyciskami "Mężczyzna" i "Kobieta". Dialog przechodzi w stan SELECT_GENDER.
Użytkownik naciska jeden z przycisków.
W zależności od wyboru, bot pokazuje nową klawiaturę:
Dla mężczyzn: "Utrata wagi", "Przyrost".
Dla kobiet: "Utrata wagi", "Tonizacja mięśni".
Dialog przechodzi w stan SELECT_MALE_GOAL lub SELECT_FEMALE_GOAL.
Użytkownik wybiera cel.
Bot zapisuje cel i prosi o podanie wzrostu. Dialog przechodzi w stan GET_HEIGHT.
Użytkownik wysyła swój wzrost w centymetrach. Bot sprawdza, czy to liczba, i zapisuje ją.
Bot prosi o podanie wagi. Dialog przechodzi w stan GET_WEIGHT.
Użytkownik wysyła swoją wagę. Bot sprawdza, czy to liczba, i zapisuje ją.
Bot wywołuje funkcję show_workout_program, która:
Oblicza BMI według wzoru waga / (wzrost w metrach)².
Określa kategorię BMI ("Norma", "Otyłość" itd.).
Na podstawie płci i celu znajduje odpowiedni program treningowy.
Formułuje i wysyła końcową wiadomość z BMI i programem na 3 dni.
Dialog kończy się (ConversationHandler.END)
Aktywność
| Ostatnie oferty 10 | Budżet | Dodana | Terminy | Oferta | |
|---|---|---|---|---|---|
|
Podłączyć Viber/Telegram do BAS KUP wydanie 2.1
82 PLN
|
|||||
|
System do przeprowadzania kontroli w sklepach (bot Telegram + arkusze Google + baza danych)
82 PLN
|
|||||
|
Bot handlowy API
820 PLN
|
|||||
|
API konwersji Facebooka
164 PLN
|
|||||
|
Oprogramowanie dla TikTok
246 PLN
|
|||||
|
Opracowanie bota Telegram z płatnością dla kursu online
82 PLN
|
|||||
|
Szukam programisty do bota do transkrypcji audio → tekst
410 PLN
|
|||||
|
Potrzebny specjalista techniczny do dopracowania i zakończenia bota Telegram na SendPulse.
205 PLN
|
|||||
|
Generowanie 100 tekstów
984 PLN
|
|||||
|
Potrzebny specjalista techniczny do skonfigurowania leja emailowego w SendPulse (Automation 360)
287 PLN
|