Dmytro Romanchuk
Рейтинг
Уровень владения языками
Навыки и умения
Программирование
Дизайн и арт
Фото, аудио и видео
Мобильные приложения
Администрирование
Портфолио
-
7000 UAH ConcreteBuildControl бот
PythonНазвание проекта: Система автоматизации логистики и поставок строительных объектов (Telegram Bot)
Краткое описание: Разработал комплексный Telegram-бот для строительной компании, который полностью автоматизировал цикл закупки материалов: от заявки прораба на объекте до доставки и отчетности. Система использует Google Sheets в качестве базы данных и CRM, что позволяет клиенту управлять процессами в привычном интерфейсе без затрат на дорогие админ-панели.
Проблема, которую решает проект:
… Ранее коммуникация велась в хаотичных чатах: заявки терялись, ПТО (инженерный отдел) не успевал согласовывать счета, а поставка не знала, что и куда везти. Была отсутствовала прозрачность статусов заказов.
Функционал и Роли:
Бот реализует систему разграничения прав доступа (RBAC) для 4-х типов пользователей:
1. Прораб (Foreman):
Создание заявок на материалы (текст или фото).
Выбор объекта из динамического списка.
Прием материалов на объекте (обязательный фотозвіт + комментарий).
Учет материалов от заказчика.
Еженедельные отчеты списания материалов.
Получение уведомлений о статусе заявки ("Отклонено", "Едет машина").
2. ПТО (Инженерный контроль):
Валидация заявок: кнопки "Согласовать" / "Отклонить".
Возможность редактирования списка материалов перед согласованием.
Просмотр фото-заявок и отчетов о приеме.
Автоматическая передача согласованных заявок в отдел поставок.
3. Поставка (Supply):
Получение уведомлений о новых согласованных заявках (с фото и деталями).
Маркировка заявок статусом "Заказано".
4. Логистика:
Контроль готовых к отправке грузов.
Изменение статуса на "Отправлено" (автоматическое уведомление прорабу).
Технический стек:
Язык: Python 3.10+
Фреймворк: aiogram 3.x (асинхронная архитектура).
База данных: Google Sheets API (библиотека gspread). Используется как БД для легкости редактирования менеджерами.
Деплой: VPS (Linux), PM2 для управления процессами.
Ключевые технические решения (High-lights):
Оптимизация памяти: Реализован кастомный менеджмент памяти с помощью gc (Garbage Collector) и оптимизированных запросов к API Google. Это позволило снизить потребление RAM на слабом VPS, избегая загрузки больших массивов данных.
Надежный поиск данных: Разработан алгоритм "Smart Search", который находит ID заказа в таблице независимо от форматирования (игнорирует нули слева, пробелы, текстовый формат ячеек), что исключило ошибки при ручном редактировании таблицы менеджерами.
Бесшовное взаимодействие: Реализована цепочка сообщений. При нажатии кнопки "Согласовать" бот не просто изменяет запись в БД, а мгновенно отправляет сформированную карточку заказа (с фото) в чат следующего отдела.
Результат:
Бот объединил работу отделов в единый поток. Время обработки заявки сократилось, потери информации сведены к нулю, а руководство получило прозрачную отчетность в Google Таблицах в реальном времени.
-
4000 UAH Сайт-визитка
HTML и CSS версткаОбщее описание
Это код одностраничного сайта (Landing Page) для фитнес-клуба "SPARTA", созданный с использованием HTML, CSS и JavaScript. Его главная цель — представить акционное предложение и собрать контактные данные клиентов через форму бронирования.
… Структура и Стилизация (HTML/CSS)
Страница имеет логичную структуру с ключевыми блоками: промо-баннер, "липкий" шапка сайта, главный экран на всю высоту (100vh) с фоновым изображением, форма бронирования и информативный подвал.
Дизайн выполнен в яркой желто-черной теме, цвета заданы через CSS-переменные для легкой смены. Сайт полностью адаптивен для мобильных устройств, использует стандартные шрифты для читабельности и имеет плавные интерактивные эффекты при наведении на кнопки и ссылки.
Интерактивность (JavaScript)
Весь функционал реализован на "чистом" JavaScript:
Мобильное меню: Адаптивное меню-бургер, выезжающее справа, с анимацией и затемнением фона. Оно поддерживает вложенные подменю, которые раскрываются по клику.
Интерфейс: Пользователь может закрыть верхний промо-баннер.
Обработка формы: Форма для бронирования отправляет данные на email с помощью внешнего сервиса FormSubmit.co, который не требует собственного backend. После успешной отправки пользователь автоматически перенаправляется на страницу благодарности (thank-you.html).
-
3000 UAH Веб-панель для автоматизации и управления Telegram рассылками
HTML и CSS версткаЭто веб-панель управления, написанная на Python с использованием фреймворка FastAPI, которая служит графическим интерфейсом для ранее описанного скрипта автоматизации рассылок в Telegram (core_logic.py). Панель позволяет пользователю управлять Telegram-аккаунтами, запускать рассылки и отслеживать их выполнение через браузер. Для хранения данных используется база данных SQLAlchemy.
Ключевые возможности
… Централизованное управление аккаунтами: Веб-интерфейс позволяет добавлять новые, просматривать список существующих и удалять Telegram-аккаунты из базы данных вместе с их файлами сессий.
Веб-авторизация: Реализован пошаговый процесс добавления новых аккаунтов непосредственно через браузер. Пользователь вводит номер телефона, затем код подтверждения из Telegram, и, при необходимости, пароль двухфакторной аутентификации (2FA). Система обрабатывает все этапы, создает файл сессии и сохраняет аккаунт.
Запуск и настройка кампаний: Пользователь может выбирать аккаунты для участия в рассылке и запускать задачи в фоновом режиме. Для каждой кампании можно указать индивидуальные настройки (например, файлы с целями и сообщениями).
Фоновое выполнение задач: Рассылки выполняются как фоновые процессы (BackgroundTasks). Это означает, что пользователь может закрыть страницу в браузере, и задача продолжит выполняться на сервере.
Мониторинг в реальном времени: Панель отображает текущий статус задачи (например, "Готов к запуску", "Выполняется", "Завершено", "Ошибка") и позволяет просматривать последние записи из лог-файла, что дает возможность отслеживать прогресс и диагностировать проблемы.
Безопасная остановка: Предусмотрена возможность отправить сигнал для корректной остановки текущей задачи. Скрипт завершит свое текущее действие (например, отправку сообщения) и остановится, не прерывая процесс резко.
Логика работы
Пользователь открывает главную страницу, где видит таблицу со всеми добавленными Telegram-аккаунтами и их статусами, а также панель управления для запуска задач.
Добавление аккаунта: Пользователь заполняет форму, указывая номер телефона и другие настройки (прокси, файлы). Сервер инициирует процесс авторизации через Telethon, отправляя код на указанный номер. После ввода кода (и пароля 2FA, если нужно) сервер сохраняет файл сессии и добавляет запись об аккаунте в базу данных.
Запуск кампании: Пользователь выбирает один или несколько активных аккаунтов, настраивает параметры и нажимает кнопку "Старт".
Браузер отправляет запрос на сервер. Сервер (FastAPI) принимает этот запрос, проверяет, не выполняется ли другое задание, и запускает основную логику рассылки (run_script_logic) в фоновом режиме.
Пользователь сразу перенаправляется обратно на главную страницу, где видит, что статус задачи изменился на "Запускается..." или "Выполняется".
JavaScript на странице периодически отправляет запросы к серверу для получения актуального статуса и логов, обновляя информацию на экране без перезагрузки страницы.
После завершения рассылки статус автоматически обновляется на "Завершено" или "Ошибка".
-
2500 UAH Фитнес бот в телеграм
PythonЭто 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).
-
6000 UAH Корпоративный Telegram-бот: Управление изменениями, агрегация данных
PythonКомплексная система для автоматизированного сбора финансовых и складских отчетов от персонала торговой сети. Система структурирует входные данные из чатов, минимизирует человеческий фактор и формирует аналитику для менеджмента.
Реализовано:
… Smart Parsing: Алгоритм распознавания произвольного текста (деление на категории/количество/сумму) с защитой от ошибок ввода.
Data Wizard: Пошаговый интерфейс подачи отчета с возможностью возврата и редактирования предыдущих шагов (State Management).
Smart Editing: Механизм редактирования уже отправленных отчетов с автоматическим заполнением форм предыдущими данными.
Security: Ролевая модель доступа (Admin/Employee), защита рабочих чатов от спама и лишних команд.
Стек: Python (Aiogram 3), PostgreSQL, SQLAlchemy, Docker Compose.
#telebot #Telegram #python #docker #ChatBots
-
3000 UAH Крипто бот
PythonЭто автономный Telegram-бот-аналитик, написанный на Python, который предназначен для автоматического сбора, анализа и публикации ежедневных отчетов о криптовалютном рынке. Бот интегрирует несколько сервисов: он собирает информацию из RSS-лент и публичных Telegram-каналов, обрабатывает ее с помощью искусственного интеллекта (Google Gemini), а затем публикует структурированный отчет в указанный Telegram-канал.
Ключевые возможности
… Агрегация из множества источников: Бот одновременно собирает новости из различных источников: новостных сайтов через RSS-ленты и популярных Telegram-каналов.
Парсинг полного текста: Для новостей с сайтов бот пытается перейти по ссылке и получить полный текст статьи, а не только краткое описание из RSS, что обеспечивает более глубокий контекст для анализа.
Анализ с помощью ИИ: Вся собранная текстовая информация отправляется в языковую модель Google Gemini с специальным запросом (промптом), который требует проанализировать настроение рынка, выделить ключевые события и дать краткий прогноз.
Автоматическая публикация по расписанию: Благодаря встроенному планировщику задач (apscheduler), бот автоматически генерирует и публикует отчет ежедневно в заданное время (например, в 9:00 утра).
Управление через команды: Администратор бота может запустить процесс анализа и публикации вручную в любое время с помощью команды /analyze. Для обычных пользователей есть информационная команда /start.
Использование двух библиотек Telegram: python-telegram-bot используется для создания самого бота и обработки команд, тогда как Telethon используется для доступа к другим каналам от имени пользовательского аккаунта для сбора новостей.
Логика работы
Инициализация: При запуске скрипт инициализирует бота, подключается к Telegram API и настраивает планировщик, который сработает в установленное время.
Сбор данных (по триггеру): Когда срабатывает таймер планировщика или администратор вызывает команду /analyze, запускается основная функция анализа:
Бот проходит по списку RSS-ссылок, собирает статьи, опубликованные за последнюю добу, и пытается загрузить их полный текст.
Одновременно, используя Telethon, он подключается к Telegram как пользователь и собирает последние посты из списка целевых каналов.
Анализ в ИИ: Все собранные тексты объединяются в один большой контекст и отправляются модели Gemini.
Обработка и форматирование: Бот получает ответ от ИИ в виде простого текста со специальными метками ([СЕНТИМЕНТ], [СОБЫТИЯ] и т.д.). Скрипт заменяет эти метки на форматирование (эмодзи, жирный шрифт) для лучшей читаемости.
Публикация: Финальный, отформатированный отчет вместе со списком источников отправляется в целевой Telegram-канал.
-
8000 UAH Скрипт для рассылки в телеграм
PythonОбщее описание
Это мощный скрипт для автоматизации массовых рассылок в Telegram, написанный на Python с использованием библиотеки Telethon. В отличие от стандартных ботов, он работает, управляя реальными аккаунтами пользователей, что позволяет отправлять приватные сообщения и комментировать в группах. Скрипт является частью более крупной системы, вероятно, с веб-интерфейсом для управления.
… Ключевые возможности
Многоаккаунтность: Скрипт может одновременно управлять неограниченным количеством Telegram-аккаунтов.
Авторизация и сессии: Он автоматически входит в аккаунты (включая двухфакторную аутентификацию), сохраняет сессии для избежания повторных логинов и умеет определять заблокированные аккаунты, обновляя их статус в базе данных.
Поддержка прокси: Для каждого аккаунта можно настроить индивидуальный прокси, что повышает анонимность и снижает риск блокировки.
Гибкое управление кампаниями: Списки целей (пользователей/групп) и тексты сообщений загружаются из отдельных файлов, что позволяет легко настраивать рассылки без изменения кода.
"Человеческое" поведение: Скрипт использует случайные задержки между отправкой сообщений и переключением между аккаунтами, имитируя действия живого человека для обхода спам-фильтров Telegram.
Расширенная логика: Перед отправкой скрипт проверяет, существует ли целевой пользователь. Если аккаунт не имеет прав на запись в группу, он автоматически пытается к ней присоединиться и повторить отправку.
Логика работы
Скрипт получает на вход список аккаунтов, которые должны участвовать в рассылке.
Он последовательно подключается к каждому аккаунту, используя сохраненные файлы сессий и настроенные прокси.
Для каждого подключенного аккаунта загружается его индивидуальный список целей и сообщений.
Скрипт начинает цикл, в котором для каждой цели выбирается случайное сообщение и отправляется от имени текущего аккаунта.
После каждого действия выполняется пауза. Завершив работу с одним аккаунтом, скрипт делает более длинную паузу и переходит к следующему.
Процесс можно остановить дистанционно (например, с веб-панели).
После завершения задания все аккаунты корректно отключаются, а результаты (количество отправленных и неудачных сообщений) возвращаются для отчета.
Отзывы и комплименты о выполненных проектах 9
17 июня
7000 UAH
Автоматизация FB написания скрипта на пайтон
Работа выполнена в срок )
![]()
7 июня
4000 UAH
Разработка скрипта на BAS (Browser Automation Studio) для автоматизации Facebook через Dolphin Anty AP
Работа была выполнена раньше заявленного срока, максимально эффективно)
![]()
4 февраля
10 000 UAH
Автоматизация в сервисе n8n - whatsapp - crm
Все выходило далеко не с первого раза, но в результате мы преодолели поставленные задачи.
19 января
4000 UAH
Перенос модели из ANSYS APDL (Classic) в ANSYS Workbench / Python-скрипт для автоматизации переноса
Все отлично. По всем критериям. Исполнитель быстро разобрался с совершенно новой и сложной тематикой. И ему удалось решить все в рамках поставленной задачи.
![]()
19 января
1000 UAH
Написание скрипта в Питоне для конфертации APDL в Workbench
Все отлично. По всем критериям. Исполнитель быстро разобрался с совершенно новой и сложной тематикой. И ему удалось решить все в рамках поставленной задачи.
![]()
8 января
2500 UAH
Деплой Telegram-бота на Python с интеграцией SalesDrive
Проект выполнен согласно ТЗ
2 января
5000 UAH
Телеграм-скрипт
Отличный специалист!
Работу выполнил быстро и качественно. Всегда был на связи, оперативно отвечал на все вопросы и учитывал все замечания и пожелания. Очень вежливый, ответственный и профессиональный в своем деле. Сотрудничеством полностью доволен — однозначно рекомендую!
26 декабря 2025
2000 UAH
Допрацювати бот Python
Сделал быстро и был на связи, сейчас тестируем. Но багов пока что не найдено! Рекомендую
6 декабря 2025
7000 UAH
Создать чат-бота
Работой полностью доволен. Выполнено очень быстро и профессионально.
![]()
| Ответный отзыв
Активность
| Последние ставки 10 | Бюджет | Добавлена | Сроки | Ставка | |
|---|---|---|---|---|---|
|
Разработка Telegram-магазина для бренда одежды. Каталог товаров, размеры, корзина, оформление заказа
8000 UAH
|
|||||
|
Обслуживание софта
5000 UAH
|
|||||
|
Телеграмм бот
12 082 UAH
|
|||||
|
Автоматическая публикация видео в социальные сети по расписанию
4491 UAH
|
|||||
|
Сигнальный бот с автоматизацией в Гугл таблицах
1000 UAH
|
|||||
|
Специалист по оптимизации GPU
2246 UAH
|
|||||
|
Ищем разработчика для создания торгового бота/чат-бота
1000 UAH
|
|||||
|
Телеграмм-бот для автосервиса
1000 UAH
|
|||||
|
~5 микросервисов на FastAPI + правки и рефакторинг
15 719 UAH
|
|||||
|
Восстановление доступа к учетной записи Telegram.
10 000 UAH
|