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

Костя Романчук

Запропонуйте Кості роботу над вашим наступним проєктом або зареєструйте профіль фрилансера і починайте заробляти просто зараз.

Україна Київ, Україна
1 місяць 1 день тому
Трохи зайнятий трохи зайнятий
на сервісі 9 місяців 10 днів

Рейтинг

Успішних проєктів
Немає даний
Середня оцінка
Немає даний
Рейтинг
286
Python
Розробка ботів

Рівень володіння мовами

Українська Українська: носій
English English: просунутий

Резюме

Доброго дня!

Я — розробник програмного забезпечення з досвідом у створенні сайтів та Telegram-ботів. Мені подобається робити зручні та корисні продукти, які допомагають бізнесу та користувачам.

За час роботи я реалізував багато проєктів і добре розбираюся у двох напрямках:

Веб-розробка:
Створюю сучасні та адаптивні веб-інтерфейси на HTML5, CSS3 та JavaScript. Вмію проходити весь шлях від ідеї та дизайну до написання чистого коду та оптимізації сайту. Працюю над тим, щоб сайт був зручним і приємним для користувачів.

Telegram-боти:
Маю досвід у створенні функціональних ботів на Python. Розробляю боти для автоматизації процесів, роботи з клієнтами, підключення до API, баз даних та інших сервісів.

Добре володію Python, JavaScript, HTML5, CSS3 та суміжними технологіями. Вмію аналізувати складні задачі, швидко адаптуюсь до нового та постійно вдосконалюю свої навички.

Готовий застосувати свій досвід у ваших проєктах та працювати над цікавими завданнями в команді. Буду радий обговорити можливості співпраці та відповісти на будь-які запитання.

Навички та вміння

Портфоліо


  • 7500 UAH

    Веб-панель для автоматизації та керування Telegram розсилками

    Веб-програмування
    Це веб-панель керування, написана на Python з використанням фреймворку FastAPI, яка служить графічним інтерфейсом для раніше описаного скрипту автоматизації розсилок у Telegram (core_logic.py). Панель дозволяє користувачеві керувати Telegram-акаунтами, запускати розсилки та відстежувати їх виконання через браузер. Для зберігання даних використовується база даних SQLAlchemy.

    Ключові можливості

    Централізоване керування акаунтами: Веб-інтерфейс дозволяє додавати нові, переглядати список існуючих та видаляти Telegram-акаунти з бази даних разом із їхніми файлами сесій.

    Веб-авторизація: Реалізовано покроковий процес додавання нових акаунтів безпосередньо через браузер. Користувач вводить номер телефону, потім код підтвердження з Telegram, і, за потреби, пароль двофакторної автентифікації (2FA). Система обробляє всі етапи, створює файл сесії та зберігає акаунт.

    Запуск та налаштування кампаній: Користувач може обирати акаунти для участі в розсилці та запускати завдання у фоновому режимі. Для кожної кампанії можна вказати індивідуальні налаштування (наприклад, файли з цілями та повідомленнями).

    Фонове виконання завдань: Розсилки виконуються як фонові процеси (BackgroundTasks). Це означає, що користувач може закрити сторінку в браузері, і завдання продовжить виконуватися на сервері.

    Моніторинг у реальному часі: Панель відображає поточний статус завдання (наприклад, "Готовий до запуску", "Виконується", "Завершено", "Помилка") та дозволяє переглядати останні записи з лог-файлу, що дає змогу відстежувати прогрес та діагностувати проблеми.

    Безпечна зупинка: Передбачено можливість надіслати сигнал для коректної зупинки поточного завдання. Скрипт завершить свою поточну дію (наприклад, відправку повідомлення) і зупиниться, не обриваючи процес раптово.

    Логіка роботи

    Користувач відкриває головну сторінку, де бачить таблицю з усіма доданими Telegram-акаунтами та їх статусами, а також панель керування для запуску завдань.

    Додавання акаунту: Користувач заповнює форму, вказуючи номер телефону та інші налаштування (проксі, файли). Сервер ініціює процес авторизації через Telethon, надсилаючи код на вказаний номер. Після введення коду (і пароля 2FA, якщо потрібно) сервер зберігає файл сесії та додає запис про акаунт до бази даних.

    Запуск кампанії: Користувач обирає один або декілька активних акаунтів, налаштовує параметри та натискає кнопку "Старт".

    Браузер надсилає запит на сервер. Сервер (FastAPI) приймає цей запит, перевіряє, чи не виконується інше завдання, і запускає основну логіку розсилки (run_script_logic) у фоновому режимі.

    Користувач одразу перенаправляється назад на головну сторінку, де бачить, що статус завдання змінився на "Запускається..." або "Виконується".

    JavaScript на сторінці періодично надсилає запити до сервера для отримання актуального статусу та логів, оновлюючи інформацію на екрані без перезавантаження сторінки.

    Після завершення розсилки статус автоматично оновлюється на "Завершено" або "Помилка".
  • 4000 UAH

    Фітнес бот в телеграм

    Розробка ботів
    Це Telegram-бот, написаний на Python з використанням бібліотеки python-telegram-bot. Його основна мета — надавати користувачам програми тренувань на основі їхньої статі, мети (схуднення, набір маси тощо), зросту та ваги. Для взаємодії з користувачем бот використовує покроковий діалог (ConversationHandler), що робить процес інтуїтивно зрозумілим.

    Основні компоненти та їх призначення

    Бібліотека python-telegram-bot: Це основа, яка забезпечує взаємодію з Telegram API. Код використовує її асинхронну версію (async def), що є сучасною практикою.

    ConversationHandler: Це ключовий елемент логіки бота. Він дозволяє створити "діалог" з користувачем, який складається з кількох кроків або "станів". Бот послідовно ставить питання і чекає на відповіді, переходячи від одного стану до іншого.

    Стани (States):

    Змінні SELECT_GENDER, GET_HEIGHT і т.д. — це унікальні ідентифікатори для кожного кроку розмови. Вони допомагають ConversationHandler зрозуміти, на якому етапі діалогу знаходиться користувач і яку функцію викликати наступною.

    Клавіатури (ReplyKeyboardMarkup):

    Замість того, щоб змушувати користувача вводити текст ("Чоловік", "Схуднення"), бот пропонує готові кнопки. Це зменшує ймовірність помилок і робить інтерфейс зручнішим. У коді є три різні клавіатури: для вибору статі, для вибору мети чоловіком та жінкою.

    Дані тренувань (male_programs, female_programs):

    Це два великі словники (dictionaries), які є "базою даних" бота. Вони містять готові програми тренувань, структуровані за статтю, метою та днями тижня. Наразі ці дані жорстко прописані в коді.

    Функції-обробники (Handlers):

    start: Запускає діалог, вітає користувача і пропонує обрати стать.

    select_gender, select_male_goal, select_female_goal: Обробляють вибір користувача з клавіатури, зберігають дані (context.user_data) і ставлять наступне питання.

    get_height, get_weight: Отримують текстові повідомлення, перетворюють їх у числа, перевіряють на коректність і зберігають.

    show_workout_program: Фінальна функція. Вона збирає всі збережені дані, розраховує Індекс Маси Тіла (ІМТ) і знаходить відповідну програму тренувань у словниках. Після цього вона формує велике текстове повідомлення і надсилає його користувачеві.

    cancel: Дозволяє користувачеві в будь-який момент перервати діалог командою /cancel.

    Логіка роботи (Покроковий сценарій)

    Користувач надсилає команду /start.

    Бот відповідає вітальним повідомленням і показує клавіатуру з кнопками "Чоловік" та "Жінка". Діалог переходить у стан SELECT_GENDER.

    Користувач натискає одну з кнопок.

    Залежно від вибору, бот показує нову клавіатуру:

    Для чоловіків: "Схуднення", "Набір".

    Для жінок: "Схуднення", "Тонус м'язів".

    Діалог переходить у стан SELECT_MALE_GOAL або SELECT_FEMALE_GOAL.

    Користувач обирає мету.

    Бот зберігає мету і просить ввести зріст. Діалог переходить у стан GET_HEIGHT.

    Користувач надсилає свій зріст у сантиметрах. Бот перевіряє, чи це число, і зберігає його.

    Бот просить ввести вагу. Діалог переходить у стан GET_WEIGHT.

    Користувач надсилає свою вагу. Бот перевіряє, чи це число, і зберігає його.

    Бот викликає функцію show_workout_program, яка:

    Розраховує ІМТ за формулою вага / (зріст у метрах)².

    Визначає категорію ІМТ ("Норма", "Ожиріння" і т.д.).

    На основі статі та мети знаходить потрібну програму тренувань.

    Формує і надсилає фінальне повідомлення з ІМТ та програмою на 3 дні.

    Діалог завершується (ConversationHandler.END)

Активність

  Останні ставки 10
Підключити Вайбер/Телеграм до BAS КУП реліз 2.1
1000 UAH
Система для проведення перевірок на магазинах (Телеграм бот + Гугл таблиці + БД)
1000 UAH
Торговий бот API
10 000 UAH
API конверсії Facebook
2000 UAH
Софт для TikTok
3000 UAH
Розробка Telegram-бота з оплатою для онлайн-курсу
1000 UAH
Шукаю програміста для бота з транскрибування аудіо → текст
4999 UAH
Потрібен технічний спеціаліст для доопрацювання та завершення Telegram-бота на SendPulse
2500 UAH
Генерування 100 текстів
12 000 UAH
Потрібен технічний спеціаліст для налаштування email-воронки в SendPulse (Automation 360)
3500 UAH