Костя Романчук
Рейтинг
Рівень володіння мовами
Резюме
Доброго дня!
Я — розробник програмного забезпечення з досвідом у створенні сайтів та 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
|