Техническое задание на разработку Telegram-бота для распознавания шрифтов
Основная концепция
Необходимо разработать Telegram-бота, который помогает пользователям находить и идентифицировать шрифты. Бот должен уметь работать как с кириллицей, так и с латиницей, и предоставлять ссылки на ресурсы для скачивания или на соответствующие посты в канале заказчика.
Ключевые функции бота
1. Поиск шрифтов по изображению
- Пользователь отправляет боту изображение с текстом.
- Бот анализирует изображение и определяет использованный шрифт.
- Если шрифт найден в базе канала заказчика, бот предоставляет прямую ссылку на пост.
- Если шрифта нет в базе канала, бот выполняет поиск на внешних ресурсах и выдает ссылку для скачивания.
- В случае, если точного совпадения нет, бот предлагает несколько наиболее похожих вариантов.
2. Поиск шрифтов по названию
- Пользователь вводит название шрифта.
- Алгоритм действий аналогичен поиску по изображению: приоритетный поиск в базе канала, затем на внешних ресурсах.
Система монетизации и доступ
- Обязательное условие: Для использования бота пользователь должен быть подписан на канал заказчика.
- Поиск по названию: Полностью бесплатный для всех подписчиков канала.
- Поиск по изображению: Работает по модели подписки (freemium).
- Первые 2 попытки в день (или всего) - бесплатно.
- Далее - требуется платная подписка.
Тарифные планы
- Бесплатный тариф: Доступен после подписки на канал. Включает неограниченный поиск по названию и 2 бесплатных попытки распознавания по фото.
- Платный тариф (Подписка на месяц): Предоставляет неограниченный доступ ко всем функциям бота, включая безлимитный поиск по изображениям.
Технические требования
- Интеграция с Telegram Bot API.
- Реализация системы проверки подписки пользователя на указанный канал.
- Интеграция с API или парсинг данных с внешних сайтов для поиска шрифтов.
- Реализация механизма распознавания шрифтов по изображению (использование сторонних сервисов или собственных нейросетевых моделей).
- Создание базы данных для учета пользователей, их подписок и истории запросов.
- Настройка платежной системы для приема оплаты за подписку (например, через ЮKassa или аналоги).
- Удобный и понятный пользовательский интерфейс в рамках Telegram.
Требования к безопасности и надежности
- Защита от спама и злоупотреблений.
- Стабильная работа при высокой нагрузке.
- Корректное хранение и обработка пользовательских данных.