Костя Романчук
Предложите Косте работу над вашим следующим проектом или зарегистрируйте профиль фрилансера и начинайте зарабатывать прямо сейчас.
Рейтинг
Уровень владения языками
Навыки и умения
Программирование
Дизайн и арт
Фото, аудио и видео
Мобильные приложения
Администрирование
Портфолио
-
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
|
|||||
|
Telegram-бот под ключ: ежедневные напоминания и ротация дежурных с контролем
3012 UAH
|
|||||
|
ЧАТ БОТ телеграм для закрытого клуба
1000 UAH
|
|||||
|
Telegram-бот для автоматического собеседования ветеринарных врачей с интеграцией OpenAI
5000 UAH
|
|||||
|
Нужно сделать простого бота по чекпоинтам на сервере GTA5
2500 UAH
|
|||||
|
Нужен AI-агент для холодных звонков на украинском языке.
20 000 UAH
|
|||||
|
Интеграция системы аналитики с Базой данных в Таблицах
5000 UAH
|
|||||
|
Двусторонний обмен сообщениями между CRM Creatio и Telegram
7000 UAH
|