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