Switch to English?
Yes
Переключитись на українську?
Так
Переключиться на русскую?
Да
Przełączyć się na polską?
Tak

Kostya Romanchuk

Offer Kostya work on your next project.

Ukraine Kyiv, Ukraine
1 month 2 days back
A little busy a little busy
on the service 9 months 10 days

Rating

Successful projects
No data
Average rating
No data
Rating
286
Python
643 place out of 4461
Bot Development 1
403 place out of 1905

Language proficiency level

Українська Українська: fluent
English English: advanced

Skills and abilities

Portfolio


  • 169 USD

    Web panel for automation and management of Telegram mailings

    Web Programming
    This is a web control panel written in Python using the FastAPI framework, which serves as a graphical interface for the previously described automation script for sending messages in Telegram (core_logic.py). The panel allows the user to manage Telegram accounts, launch broadcasts, and track their execution through a browser. SQLAlchemy is used for data storage.

    Key Features

    Centralized account management: The web interface allows adding new accounts, viewing the list of existing ones, and deleting Telegram accounts from the database along with their session files.

    Web authorization: A step-by-step process for adding new accounts directly through the browser is implemented. The user enters the phone number, then the confirmation code from Telegram, and, if necessary, the two-factor authentication (2FA) password. The system handles all stages, creates a session file, and saves the account.

    Launching and configuring campaigns: The user can select accounts to participate in the broadcast and launch tasks in the background. Individual settings can be specified for each campaign (e.g., files with targets and messages).

    Background task execution: Broadcasts are executed as background processes (BackgroundTasks). This means that the user can close the browser page, and the task will continue to run on the server.

    Real-time monitoring: The panel displays the current status of the task (e.g., "Ready to start," "In progress," "Completed," "Error") and allows viewing the latest entries from the log file, enabling tracking of progress and diagnosing issues.

    Safe stop: There is an option to send a signal for a proper stop of the current task. The script will complete its current action (e.g., sending a message) and stop without abruptly terminating the process.

    Operational Logic

    The user opens the main page, where they see a table with all added Telegram accounts and their statuses, as well as a control panel for launching tasks.

    Adding an account: The user fills out a form, specifying the phone number and other settings (proxy, files). The server initiates the authorization process via Telethon, sending a code to the specified number. After entering the code (and the 2FA password, if needed), the server saves the session file and adds an account record to the database.

    Launching a campaign: The user selects one or more active accounts, configures the parameters, and clicks the "Start" button.

    The browser sends a request to the server. The server (FastAPI) receives this request, checks if another task is not running, and starts the main broadcast logic (run_script_logic) in the background.

    The user is immediately redirected back to the main page, where they see that the status of the task has changed to "Starting..." or "In progress."

    JavaScript on the page periodically sends requests to the server to get the current status and logs, updating the information on the screen without reloading the page.

    After the broadcast is completed, the status is automatically updated to "Completed" or "Error."
  • 90 USD

    Fitness bot in Telegram

    Bot Development
    This is a Telegram bot written in Python using the python-telegram-bot library. Its main purpose is to provide users with workout programs based on their gender, goal (weight loss, muscle gain, etc.), height, and weight. To interact with the user, the bot uses a step-by-step dialogue (ConversationHandler), making the process intuitive.

    Main components and their purposes

    python-telegram-bot library: This is the foundation that provides interaction with the Telegram API. The code uses its asynchronous version (async def), which is a modern practice.

    ConversationHandler: This is a key element of the bot's logic. It allows creating a "dialogue" with the user, consisting of several steps or "states." The bot sequentially asks questions and waits for answers, transitioning from one state to another.

    States:

    The variables SELECT_GENDER, GET_HEIGHT, etc. are unique identifiers for each step of the conversation. They help the ConversationHandler understand at which stage of the dialogue the user is and which function to call next.

    Keyboards (ReplyKeyboardMarkup):

    Instead of forcing the user to type text ("Male", "Weight Loss"), the bot offers ready-made buttons. This reduces the likelihood of errors and makes the interface more user-friendly. The code includes three different keyboards: for selecting gender, for selecting goals for men and women.

    Workout data (male_programs, female_programs):

    These are two large dictionaries that serve as the bot's "database." They contain ready-made workout programs structured by gender, goal, and days of the week. Currently, this data is hardcoded in the code.

    Handler functions:

    start: Starts the dialogue, greets the user, and offers to choose a gender.

    select_gender, select_male_goal, select_female_goal: Handle the user's selection from the keyboard, store the data (context.user_data), and ask the next question.

    get_height, get_weight: Receive text messages, convert them into numbers, check for correctness, and store them.

    show_workout_program: The final function. It collects all saved data, calculates the Body Mass Index (BMI), and finds the corresponding workout program in the dictionaries. After that, it forms a large text message and sends it to the user.

    cancel: Allows the user to interrupt the dialogue at any time with the command /cancel.

    Logic of operation (Step-by-step scenario)

    The user sends the command /start.

    The bot responds with a welcome message and shows a keyboard with the buttons "Male" and "Female." The dialogue transitions to the SELECT_GENDER state.

    The user presses one of the buttons.

    Depending on the choice, the bot shows a new keyboard:

    For men: "Weight Loss," "Gain."

    For women: "Weight Loss," "Muscle Tone."

    The dialogue transitions to the SELECT_MALE_GOAL or SELECT_FEMALE_GOAL state.

    The user selects a goal.

    The bot saves the goal and asks for height. The dialogue transitions to the GET_HEIGHT state.

    The user sends their height in centimeters. The bot checks if it is a number and saves it.

    The bot asks for weight. The dialogue transitions to the GET_WEIGHT state.

    The user sends their weight. The bot checks if it is a number and saves it.

    The bot calls the show_workout_program function, which:

    Calculates BMI using the formula weight / (height in meters)².

    Determines the BMI category ("Normal," "Obesity," etc.).

    Based on gender and goal, finds the required workout program.

    Forms and sends the final message with BMI and a 3-day program.

    The dialogue ends (ConversationHandler.END).

Activity

  Latest proposals 10
Connect Viber/Telegram to BAS KUP release 2.1
23 USD
System for conducting inspections in stores (Telegram bot + Google Sheets + Database)
23 USD
Trading bot API
226 USD
Facebook Conversion API
45 USD
Software for TikTok
68 USD
Development of a Telegram bot with payment for an online course
23 USD
I am looking for a programmer for a bot for audio → text transcription.
113 USD
A technical specialist is needed to finalize and complete a Telegram bot on SendPulse.
56 USD
Generating 100 texts
271 USD
A technical specialist is needed to set up an email funnel in SendPulse (Automation 360)
79 USD