````markdown # Руководство по работе со счетами в розыгрышах ## Обзор Теперь бот поддерживает два режима участия в розыгрышах: 1. **Старый режим**: участие пользователей по Telegram ID 2. **Новый режим**: участие по счетам формата `XX-XX-XX-XX-XX-XX-XX-XX` ## Формат счета Счет состоит из **8 пар двухзначных чисел**, разделенных дефисом: ``` 12-34-56-78-90-12-34-56 ``` ## Возможности для администраторов ### 1. Автоматическое обнаружение счетов Когда администратор вводит в чат сообщение со счетами, бот автоматически обнаруживает их и предлагает действия: **Пример:** ``` 12-34-56-78-90-12-34-56 45-67-89-01-23-45-67-89 ``` Бот выведет: ``` 🔍 Обнаружен ввод счетов Найдено: 2 • 12-34-56-78-90-12-34-56 • 45-67-89-01-23-45-67-89 Выберите действие: [➕ Добавить в розыгрыш] [👑 Сделать победителем] [❌ Отмена] ``` ### 2. Добавление счетов в розыгрыш **Шаги:** 1. Введите счета (один или несколько с новой строки) 2. Нажмите "➕ Добавить в розыгрыш" 3. Выберите розыгрыш из списка 4. Бот добавит все счета и покажет результат **Результат:** ``` Результаты добавления в розыгрыш: Новогодний розыгрыш 2025 ✅ Добавлено: 15 ⚠️ Пропущено: 3 Детали: ✅ 12-34-56-78-90-12-34-56 ✅ 45-67-89-01-23-45-67-89 ... ``` ### 3. Установка победителя по счету **Шаги:** 1. Введите **один** счет 2. Нажмите "👑 Сделать победителем" 3. Выберите розыгрыш 4. Выберите место (1, 2, 3...) 5. Бот установит победителя **Пример:** ``` Ввод: 12-34-56-78-90-12-34-56 Результат: ✅ Победитель установлен! Розыгрыш: Новогодний розыгрыш 2025 Счет: 12-34-56-78-90-12-34-56 Место: 1 Приз: iPhone 15 Pro ``` ### 4. Множественный ввод счетов Можно вводить несколько счетов одновременно: ``` 12-34-56-78-90-12-34-56 45-67-89-01-23-45-67-89 11-22-33-44-55-66-77-88 99-88-77-66-55-44-33-22 ``` Бот обнаружит все валидные счета и предложит массовые операции. ## Программный доступ ### Использование сервисов ```python from account_services import AccountParticipationService # Добавить счет в розыгрыш async with async_session_maker() as session: result = await AccountParticipationService.add_account_to_lottery( session, lottery_id=1, account_number="12-34-56-78-90-12-34-56" ) print(result["success"]) # True/False print(result["message"]) # Сообщение о результате # Массовое добавление accounts = [ "12-34-56-78-90-12-34-56", "45-67-89-01-23-45-67-89", "11-22-33-44-55-66-77-88" ] results = await AccountParticipationService.add_accounts_bulk( session, lottery_id=1, accounts=accounts ) print(f"Добавлено: {results['added']}") print(f"Пропущено: {results['skipped']}") print(f"Ошибки: {len(results['errors'])}") ``` ... (файл далее) ````