# ДЖАЗ-фестиваль

## **Постановка задачи:**

Техническое задание было разработано и предоставлено клиентом:

<figure><img src="/files/XBAR5v1p2oMXYGDUuI9P" alt=""><figcaption></figcaption></figure>

**Основные требования:**

✅ Пользователь при входе в бот проходит миниопрос, на основе выбора ответов выдаётся один из четырёх персонажей, обладающих своими характеристиками:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><img src="/files/qo9lUwgeib1hknM5wdL5" alt=""></td><td></td><td></td></tr><tr><td><img src="/files/ROrNL4xbU0akefXQcpkh" alt=""></td><td></td><td></td></tr><tr><td><img src="/files/8BO1Gq2Q29lMal6Gh66f" alt=""></td><td></td><td></td></tr><tr><td><img src="/files/hFaeP7gMYCpKbLY2UITo" alt=""></td><td></td><td></td></tr></tbody></table>

✅ Регистрация пользователя и создание уникальной QR визитки.

✅ Возможность сканировать QR коды фестиваля (QR визитки других участников, QR коды спонсоров, QR коды расписаний) для улучшения способностей своего персонажа.

✅ Зачисление баллов при сканировании QR-кода участника или спонсора должно быть единожды, при повторном сканировании баллы не начисляются.

📌**Самое интересное!** Это QR-коды расписаний. За всего одним QR-кодом расписания прячется расписание всего 3х-дневного фестиваля. Ежедневно не менее 16 мероприятий в одном городе, т.е. в одном QR-коде открытой площадки (к примеру) Самары, было зашито 48 мероприятий, каждое из которых проводится в своё время. \
&#x20;      При сканирования QR-кода расписания пользователем, бот определяет текущее время и выдаёт актуальную информацию о мероприятии, начисленных баллах и так далее.

✅ В боте должно быть админ-меню, позволяющее:

❗️Создание и редактирование расписаний, добавление спонсоров и генерацию QR-кодов.

❗️Просмотр статистики посещения  мероприятий в режиме онлайн, просмотр статистики по выданному мерчу.

❗️Срочное оповещение по пользователям выбранного города.

✅ По окончанию 3х-дневного фестиваля пользователям предоставляется возможность обмена баллов на различные мерчи. Администратор Фестиваля, сканируя  QR-визитку пользователя, должен получать информацию о нём - имя, текущий баланс. В случае, если у пользователя достаточное количество баллов для приобретения желаемого мерча, бот осуществляет списание с баланса пользователя. Пользователь должен получить уведомление о списании.

По задумке клиента должна была использоваться база данных для хранения информации о мероприятиях городов и графика их прохождений.

## Реализация

Приняли решение уйти от базы данных и использовать только возможности Salebot - словари, массивы, списки, API-функции. Этого оказалось более, чем достаточно.

<figure><img src="/files/o2QiZtWJvRuJXIKyCZqj" alt=""><figcaption></figcaption></figure>

{% embed url="<https://youtu.be/7HyUg3gIanY>" %}

Разработчик Иван Малютин (<https://t.me/ivan_malyutin>)

Обрашайтесь - обязательно найдем оптимальное решение Вашей задачи.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cases.salebot.pro/dzhaz-festival.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
