Костя Романчук
Предложите Косте работу над вашим следующим проектом или зарегистрируйте профиль фрилансера и начинайте зарабатывать прямо сейчас.
Рейтинг
Уровень владения языками
Навыки и умения
Программирование
Дизайн и арт
Фото, аудио и видео
Мобильные приложения
Администрирование
Портфолио
-
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
|
|||||
|
Facebook Conversion API
2000 UAH
|
|||||
|
Софт для TikTok
3000 UAH
|
|||||
|
Разработка Telegram-бота с оплатой для онлайн-курса
1000 UAH
|
|||||
|
Ищу программиста для бота по транскрибации аудио → текст
4999 UAH
|
|||||
|
Нужен технический специалист для доработки и завершения Telegram-бота на SendPulse
2500 UAH
|
|||||
|
Генерирование 100 текстов
12 000 UAH
|
|||||
|
Нужен технический специалист для настройки email-воронки в SendPulse (Automation 360)
3500 UAH
|