Files
new_lottery_bot/docs/SYSTEM_ADMIN_GUIDE.md
Trevor1985 3c1a6a02a5
All checks were successful
continuous-integration/drone/push Build is passing
Separate staff roles and protect message delivery with operator guides
2026-09-13 21:00:53 +09:00

55 lines
6.3 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.

# Инструкция системного администратора
Системный администратор назначает сотрудников и имеет все рабочие права администратора. Его собственный доступ задаётся ответственным за сервер в `ADMIN_IDS` и не снимается через бот.
## Разделение прав
| Действие | Системный администратор | Администратор | Кассир |
|---|---|---|---|
| Назначать администраторов/кассиров, снимать роли | Да | Нет | Нет |
| Просматривать список сотрудников | Да | Нет | Нет |
| Управлять пользователями, экспортом и модерацией | Да | Да | Нет |
| Создавать, редактировать, проводить и закрывать розыгрыши | Да | Да | Нет |
| Управлять результатами и удалять участия | Да | Да | Нет |
| Запускать административные рассылки | Да | Да | Нет |
| Привязывать/деактивировать счета | Да | Да | Да |
| Добавлять участие по счетам в открытый розыгрыш | Да | Да | Да |
| Проверять и подтверждать выдачу призов | Да | Да | Да |
Обычные пользовательские функции, включая разрешённый общий чат, доступны сотрудникам. Общий чат и административная рассылка имеют разные назначения.
## Назначение сотрудника
1. Сотрудник выполняет `/start`, затем `/my_id` и передаёт вам свой числовой Telegram ID. Сверьте ID с самим сотрудником.
2. Откройте `/staff` или `/admin` → «Настройки» → «Сотрудники и права».
3. Выберите «Назначить администратора» или «Назначить кассира».
4. Введите точный Telegram ID. Поиск по имени при выдаче прав не используется.
5. Проверьте имя, ID, текущую и новую роль. Нажмите «Подтвердить изменение».
6. Проверьте «Список сотрудников». Попросите сотрудника открыть `/admin` или `/cashier`.
Можно начать ту же операцию командами `/add_admin TELEGRAM_ID` или `/add_cashier TELEGRAM_ID`. Они также требуют подтверждения кнопкой.
## Смена роли и отзыв доступа
У сотрудника одна назначенная роль. Назначение кассиром бывшего администратора снимает его административные права; назначение администратором заменяет роль кассира.
Для полного отзыва рабочих прав выберите «Снять права сотрудника», введите ID и подтвердите. Пользователь сохраняет обычный доступ к боту. Команды `/remove_admin ID` и `/remove_cashier ID` снимают только соответствующую текущую роль; при несовпадении операция отклоняется.
Изменения применяются при следующем действии сотрудника, включая продолжение открытого диалога. Уже запущенная рассылка завершается отдельно. Повторное нажатие подтверждения не выполняет назначение снова. Если другой системный администратор успел изменить права, откройте назначение заново и проверьте актуальную роль.
Системных администраторов нельзя назначать, понижать или удалять через эти команды. Если кассир закреплён в `CASHIER_IDS`, бот направит к ответственному за сервер. Для новых сотрудников используйте назначение через `/staff`; изменение серверной конфигурации и перезапуск не нужны.
`/admins` и `/cashiers` открывают общий список сотрудников с указанием фактических ролей. Старые кнопки назначения ведут в новый раздел и не меняют права автоматически.
## Инструкции сотрудникам
- Администратор: `/admin_help` или [инструкция администратора](ADMIN_GUIDE.md).
- Кассир: `/cashier_help` или [инструкция кассира](CASHIER_GUIDE.md).
- Эта инструкция: `/system_help` или кнопка в «Сотрудники и права».
## Проверка работы
При проблеме запишите время, команду, роль и ID розыгрыша. Проверьте `/start`. Перед повторной рассылкой или выдачей приза проверьте журнал/статус: недоставленный ответ не означает, что операция не была сохранена.
Ответственный за сервер проверяет состояние контейнера, журнал, доступность базы данных и результат последнего деплоя по [инструкции Drone](DRONE_DEPLOYMENT.md). Изменения ролей журналируются с инициатором, получателем и новой ролью. Не передавайте токены и пароли сотрудникам для назначения через бот.