March 15

Техническое задание. Бот-отрисовщик.

Содержание.

1. Основная логика работы.

2. Список требуемых изображений.

3. Генерация изображений. Особенности.

1. Основная логика работы

Приложение должно быть реализовано в виде Telegram бота.
Стек на усмотрение исполнителя.
Мы разрабатываем более полный и совершенный аналог сервисов @XbetCheckBot, @RGT_check4bot, @fakemaks_bot. Обязательно изучите функционал этих ботов перед началом работы.

Командой /start открывается Основное меню.
Отправляется приветственный текст. Приветственный баннер. Две кнопки: "Инфо" (1.1), "Чеки/Балансы" (1.2), "Настройки" (1.3)

1.1 "Инфо"
Кнопкой Инфо открывается Информационное меню.
Информационный текст (1.1.1). Информационный баннер. Кнопки "Обновить" (1.1.2), "Наш проект" (1.1.3).

1.1.1 Текст

🥰 Ты создал 3 чека
ℹ️ Чеков за сегодня - 100
🗒 Чеков за все время - 2000
🔥 Пользователей в боте - 50000
❤️ Ты с нами уже 10 дней

Текст не должен нарушать правила русского языка независимо от значений.

1.1.2 "Обновить"
Обновляется информационный текст и информационный баннер. Режим баннера не должен меняться.

1.1.3 "Наш проект"
Текст - Связь с администрацией. Кнопки - список сервисов проекта. Каждая строка и кнопка должна настраиваться через админ-панель.

1.2 "Чеки/Балансы"
Баннер меню создания чеков.
Список Банков/Бирж, доступных для отрисовки (кнопками) (см. п. 2).
Формат текста в кнопке - "{service_emoji} {name_of_service} {country_flag}"
service_emoji - Смайлик, символизирующий сервис.
name_of_service - Название банка либо биржи
country_flag - Флаг страны, в которой расположен банк. В случае биржи флаг не нужен. Заключить флаг в квадратные скобки, пример - "[🇺🇦]"

1.2.1 * Выбран сервис *
Отображается список доступных скриншотов этого сервиса.
Баннер меню создания чеков.

1.2.2 * Выбран скриншот *
Отображается шаблон с выделенными местами под отрисовку надписей.

Пример шаблона

Текст должен содержать информацию о полях, которые будут заполнена, а также пример данных. Время в примере должно быть реальным (по мск).

🟢 Напиши желаемые значения по инструкции: 1 — Время на телефоне
2 — Баланс на карте
3 — Последние 4 цифры карты

👉🏻 Пример введенных данных:

20:53
7 370,90
1920

1.2.3 * Введены данные * Генерируется изображение на основе введенных данных. Изображение отправляется пользователю в виде и фотографии, и файла (чтобы сохранить качество, поскольку фотографии сжимаются при отправке).

1.3 Настройки В настройках редактируется заряд батареи (1.3.1), сеть и wifi (1.3.2), иконки в панели индикаторов (1.3.3).
Также нужна кнопка для автоматического выставления случайных параметров (Random).
И возможно включить режим, в котором каждый новый скриншот будет генерироваться с новым, уникальным набором параметров (Random mode).
Баннер - отрендеренное изображение текущих настроек.

Пример

1.3.1 Заряд батареи
Здесь выставляются настройки батареи. Нужные параметры ниже. Баннер - отрендеренное изображение текущих настроек.

1.3.2 Сеть и wi-fi
Здесь выставляются настройки сети и wifi. Нужные параметры ниже. Баннер - отрендеренное изображение текущих настроек.

1.3.3 Панель индикаторов

Здесь выставляются настройки панели индикаторов. Нужные параметры ниже. Баннер - отрендеренное изображение текущих настроек.

2. Список необходимых сервисов

Здесь список сервисов, необходимых для релиза. Все они имеются у конкурентов. После релиза планируется работа над множеством других сервисов.

2.1 Сбербанк

Баланс (Карта)
Баланс (Главная)
Баланс (Платёжный счёт)
Перевод отправлен
Перевод доставлен
Перевод выполнен
История платежей (more info https://teletype.in/@fake_check/info#Dfzv)
Конструктор PDF чеков (more info @XbetCheckBot)

2.2 Тинькофф
Баланс (Главная)
Баланс (Карта)
Отправка
Получение

2.3 Альфа-Банк Баланс (Главная)
Баланс (Карты)
Пополнение
Отправка

2.4 Райффайзен Банк
Баланс (Главная)
Баланс (Карта)
Перевод (СБП)
Перевод (По номеру карты)
Пополнение

2.5 Каспи Банк
Главная (Баланс)
Перевод с карты на карту
Чек перевода

2.6 Trust Wallet Отправка криптовалюты
Получение криптовалюты
Баланс (Главная)

2.7 Binance
Пополнение
Вывод средств

3. Особенности генерации изображений
О питоне: мы пробовали реализовать генерацию скриншотов на питоне, однако не нашли подходящих инструментов. Имеющиеся не способны нанести на шаблон текст/иконки в нужном нам качестве. Одна из проблем - невозможность работать с расстояниями между символами. Имеется информация что один из сервисов конкурентов (@fakemaks_bot) написан на чистом PHP.

Нам необходима генерация изображений, полностью идентичных реальным. Имеет значение каждая мелочь. Результат, в котором возможно будет обнаружить несоответствие с помощью наложения изображения, нас не устроит.