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