Files
new_lottery_bot/docs/CASHIER_GUIDE.md
Trevor1985 a9af9cb010
Some checks failed
continuous-integration/drone/push Build is failing
Fix account enrollment and operator callback flows with Redis scenarios
2026-09-14 21:01:56 +09:00

82 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Инструкция кассира
Кассир привязывает счета к клиентам, добавляет участие в открытых розыгрышах, проверяет победителей и отмечает выдачу призов. Создание и проведение розыгрышей, изменение победителей, управление сотрудниками, рассылки и модерация доступны другим ролям.
## Начало смены
1. В личном диалоге с ботом выполните `/start`, затем `/cashier`.
2. Если доступа нет, отправьте `/my_id` и передайте показанный Telegram ID системному администратору для назначения роли кассира.
3. Получите от администратора ID и название нужного розыгрыша, условия участия и порядок выдачи призов.
4. Инструкция доступна по `/cashier_help` и кнопке «Инструкция кассира» в кассе.
Работайте со своего Telegram-аккаунта. Другой кассир может одновременно выполнять свои операции. `/cancel` отменяет текущий ввод, но не откатывает уже сохранённые счета или выдачу.
## Привязка счёта к клиенту
1. Клиент должен запустить бот и пройти регистрацию. Сверьте клубную карту с клиентом по рабочей процедуре.
2. Проверьте профиль клиента командой `/user_info 2223`, где `2223`его клубная карта. Затем отправьте команду, указав карту и счёт:
```text
/add_account 2223 11-22-33-44-55-66-77
```
3. Проверьте ответ бота: карту, владельца и номер счёта.
4. Если нужно участие, выберите предложенный розыгрыш. Привязка счёта к клиенту и добавление в розыгрыш — отдельные операции.
Для нескольких клиентов отправьте `/add_account` без аргументов и следуйте подсказке: по одной паре `КАРТА СЧЁТ` на строку. Проверяйте итоговый отчёт, особенно пропуски и ошибки.
## Добавление счетов в розыгрыш
1. `/cashier` → выберите нужное название открытого розыгрыша.
2. Отправьте счета, каждый с новой строки:
```text
11-22-33-44-55-66-77
88-99-00-11-22-33-44
```
3. За один ввод допускается до 1000 распознанных счетов.
4. Проверьте количества «Добавлено», «Пропущено» и ошибки. Повтор того же счёта в том же розыгрыше не создаёт второго участия.
Чтобы сразу привязать новый счёт клиенту, отправьте строку `КАРТА СЧЁТ`, например `0007 11-22-33-44-55-66-77`. Карта должна быть известна боту. Создание счёта и добавление участия сохраняются вместе. Чужой или неактивный счёт нельзя перепривязать таким вводом; исправьте данные или обратитесь к администратору.
Если розыгрыш уже проведён или закрыт, бот отклонит добавление. Если активных розыгрышей нет, обратитесь к администратору. Кассир не может открыть или создать розыгрыш.
Счёт без привязки к клиенту тоже может быть добавлен. Чтобы клиент получил личное уведомление и мог подтвердить выигрыш по коду, сначала проверьте привязку счёта к его зарегистрированному профилю.
## Исправление счёта
Для деактивации:
```text
/remove_account 11-22-33-44-55-66-77
```
Деактивация не заменяет удаление уже созданного участия. Если счёт попал не в тот розыгрыш, сообщите администратору ID розыгрыша и номер счёта: он проверит и исправит участие. Не добавляйте произвольный новый счёт вместо ошибочного.
## Проверка и выдача приза
1. Узнайте ID проведённого розыгрыша у администратора.
2. Проверьте выдачу: `/winner_status 12`, где `12` — пример ID.
3. Попросите клиента открыть «Мой код» в своём боте. Сверьте личность/карту и приз по рабочей процедуре. Код не публикуется в общем чате.
4. Когда готовы зафиксировать выдачу, отправьте:
```text
/verify_winner AB12CD34 12
```
5. Проверьте подтверждение бота, место, приз и данные победителя. Повторно проверьте `/winner_status 12` при сомнении.
Команда `/verify_winner` изменяет статус: выигрыш помечается полученным. Это не просто поиск. Повторное подтверждение одного выигрыша отклоняется, в том числе при одновременной работе кассиров. Ошибка уведомления победителю не отменяет сохранённое подтверждение выдачи.
Если выигрыш не найден, проверьте код, ID, завершение розыгрыша и предыдущую выдачу. Если у клиента несколько призовых мест, согласуйте с администратором порядок выдачи: команда подтверждает одно ещё не полученное место за вызов. При отсутствии привязки победившего счёта к профилю обратитесь к администратору.
## Когда обращаться к администратору
- Неверная карта или владелец, неизвестный счёт, ошибка участия.
- Нет открытого розыгрыша или требуется изменение результата.
- Код не подходит, статус выдачи расходится с фактической выдачей.
- Бот не отвечает: попробуйте `/start`, затем сообщите время, команду и ID розыгрыша. Не повторяйте выдачу без проверки статуса.
Кассиру доступны обычные пользовательские функции, включая чат. `/chat` распространяет сообщения участникам; `/exit` завершает режим чата. Все кассовые команды выполняйте в личном диалоге с ботом.