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

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

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

Україна Київ, Україна
1 день 15 годин тому
У відпустці у відпустці
зроблено 11 ставок
на сервісі 10 місяців

Рейтинг

Успішних проєктів
Немає даний
Середня оцінка
Немає даний
Рейтинг
324
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
Бот автоматизації для playerok.com
20 000 UAH
Покет опшн трейдинг бот, в телеграм
2000 UAH
Розробка веб-сервісу з платним доступом до онлайн-чату
15 000 UAH
Телеграм-бот під ключ: щоденні нагадування та ротація чергових з контролем
3012 UAH
ЧАТ БОТ телеграм для закритого клубу
1000 UAH
Телеграм-бот для автоматичного співбесідування ветеринарних лікарів з інтеграцією OpenAI
5000 UAH
Потрібно зробити простого бота по чекпоінтах на сервері GTA5
2500 UAH
Потрібен AI-агент для холодних дзвінків українською мовою.
20 000 UAH
Інтеграція системи аналітики з Бази даних в Таблиці
5000 UAH
Двосторонній обмін повідомленнями між CRM Creatio i Telegram
7000 UAH