Telegram-бот Neuro Retouch Photo (на базе Gemini)
У меня:
Активный проект Neuro Retouch Photo (ID: neuro-retouch-photo), биллинг подключён.
Generative Language API (Gemini) включён.
Создан API key, ограниченный под Generative Language API (ключ передам отдельно или введу сам в переменных окружения, без хардкода).
Есть архив приложения из AI Studio с логикой нейро-ретуши.
Что нужно реализовать:
1. Архитектура и безопасность
Привязать код к моему API key через .env:
без прямого вписывания ключа в репозиторий/код.
Telegram-бот:
авторизация по Telegram ID (это же — идентификатор учётной записи в системе).
хранение баланса пользователя и истории операций на стороне сервера/БД.
2. Функционал бота (ретушь)
Пользователь отправляет фото (JPG/PNG).
Выбирает количество вариантов: от 1 до 4.
Бот отправляет запрос в Gemini и возвращает выбранное количество вариантов.
Обработка ошибок:
нет фото,
превышены лимиты/ошибка Gemini,
недостаточно средств на балансе.
3. Монетизация и биллинг внутри бота
Модель: предоплаченный баланс в рублях, списание за каждое сгенерированное изображение.
Базовая ставка:
1 сгенерированное изображение = 15 .
Если пользователь запросил 4 варианта — списывается 4 15 = 60 .
Пользователь сам выбирает 1–4 вариантов перед запуском генерации.
Баланс пользователя:
Для каждого Telegram ID хранится баланс в рублях.
Перед генерацией:
бот проверяет: баланс (кол-во_изображений 15 ).
если достаточно — списывает и запускает генерацию;
если нет — выдаёт сообщение о нехватке средств и кнопку «Пополнить баланс».
Пополнение баланса:
Нужна реализация удобного пополнения для пользователей из РФ через Telegram.
Требование к разработчику:
сделать модуль пополнения с фиксированными суммами (например, 150 / 300 / 600 / 1500 ),
реализовать интеграцию с подходящим и законным платёжным решением (Telegram Payments / ЮKassa / СБП / др. актуальный провайдер), чтобы:
после успешной оплаты баланс автоматически увеличивался,
транзакции логировались.
Пользователь должен иметь возможность пополнить баланс в любое время из интерфейса бота (кнопка в меню).
Логика списаний/пример:
Баланс 300 , пользователь выбирает 2 изображения списать 30 остаток 270 .
Баланс 40 , пользователь выбирает 4 изображения отказ, предложение пополнить.
Все расчёты строго в рублях, никаких скрытых подписок.
4. Дополнительно
Учесть мои тексты Пользовательского соглашения и Политики конфиденциальности (NEURO_MONOHROME) — бот должен:
при первом запуске показать короткий блок согласия и получить подтверждение,
ссылаться на полную версию документов.
Код и структура должны позволять:
менять цену за генерацию,
добавлять новые тарифы без полной переделки логики.
Опубликован 07.11.2025 в 17:17
Заказ находится в архиве