mirror of
https://github.com/Ti-webdev/0-hereconnect-obsidian.git
synced 2026-07-30 20:30:47 +00:00
6.1 KiB
6.1 KiB
1. Основной функционал
-
Запуск бота
- Реализовать команду
/startс приветственным сообщением:Привет! Я бот сервиса "НаСвязи". Помогу вам создать QR-код (для автомобиля, питомца, входной двери и т.д.).
- Реализовать команду
-
Выбор объекта
- Использовать replyKeyboardMarkup для отображения кнопок:
- Автомобиль
- Питомец
- Дверь квартиры
- Стол в ресторане
- Другое
- Обработать выбор пользователя и переход к следующему шагу.
- Использовать replyKeyboardMarkup для отображения кнопок:
-
Ввод названия QR-кода
- Запросить название QR-кода с валидацией (минимум 2 символа).
- Реализовать повторный запрос при неверном вводе.
-
Настройка действий
- Использовать replyKeyboardMarkup для выбора действий:
- Отправить сообщение
- Показать номер телефона
- Прикрепить геопозицию
- Обработать выбор пользователя и сохранить выбранные действия.
- Использовать replyKeyboardMarkup для выбора действий:
-
Генерация QR-кода
- Создать функционал генерации QR-кода с указанным названием и действиями.
- Отправить изображение QR-кода пользователю.
-
Инструкции по размещению
- Отправить рекомендации по размещению в зависимости от выбранного объекта.
- Добавить кнопку с keyboardButtonUrl для перехода на страницу доната:
Сделайте НаСвязи удобнее. Будем рады вашей поддержке: [https://hereconnect.condev.ru/donate](https://hereconnect.condev.ru/donate)
2. Уведомления
-
Обработка сообщений через QR-код
- Получать данные о сообщении, отправленном через QR-код.
- Отправлять уведомление пользователю:
Новое сообщение для QR-кода "Моя машина": "Ваш автомобиль мешает проезду."
-
Отображение действий через QR-код
- Обрабатывать действие "Показать номер телефона" и фиксировать запрос:
QR-код "Моя машина": номер телефона владельца показан.
- Обрабатывать действие "Показать номер телефона" и фиксировать запрос:
3. Управление QR-кодами
-
Просмотр списка QR-кодов
- Отправить список QR-кодов пользователя в виде кнопок:
Вот ваши QR-коды: [Моя машина] [Ошейник собаки] - Реализовать выбор QR-кода для управления.
- Отправить список QR-кодов пользователя в виде кнопок:
-
Редактирование QR-кода
- Добавить возможность изменить название QR-кода.
- Реализовать выбор доступных действий для редактирования.
-
Удаление QR-кода
- Подтвердить удаление перед выполнением.
- Удалить QR-код и уведомить пользователя:
QR-код "Моя машина" успешно удалён.
4. Получение статистики
- Просмотр статистики
- Реализовать команду
/statsдля получения статистики:Статистика для "Моя машина": - Сканирований: 12 - Сообщений: 5 - Отправить данные в текстовом формате.
- Реализовать команду
5. Дополнительные возможности
-
Запрос номера телефона
- Использовать keyboardButtonRequestPhone для запроса номера телефона владельца.
-
Запрос геопозиции
- Использовать keyboardButtonRequestGeoLocation для получения геопозиции.
-
Поддержка инлайн-кнопок
- Добавить инлайн-кнопки к уведомлениям:
- Ответить на сообщение.
- Удалить сообщение.
- Добавить инлайн-кнопки к уведомлениям:
6. Обработка ошибок
- Неверный ввод на каждом этапе
- Реализовать обработку ошибок:
- Некорректный выбор объекта.
- Неверное название QR-кода.
- Неправильный выбор действий.
- Отправлять соответствующие сообщения и запрашивать повторный ввод.
- Реализовать обработку ошибок:
7. Административный функционал
-
Управление пользователями
- Добавить функционал для администратора:
- Просмотр статистики всех пользователей.
- Удаление неактивных QR-кодов.
- Добавить функционал для администратора:
-
Журнал ошибок
- Логировать ошибки пользователей для анализа и улучшения UX.
Приоритеты
- Основной функционал.
- Уведомления.
- Управление QR-кодами.
- Получение статистики.
- Дополнительные возможности.
- Обработка ошибок.
- Административный функционал.