## 1. Система ролей и авторизация
### 1.1 Роли пользователей
- Администратор
- Пользователь
### 1.2 Функции администратора
- Модерация учетных записей пользователей
- Подтверждение новых регистраций
- Удаление учетных записей
- Управление статистикой:
- Таблица всех аккаунтов в системе со следующими колонками:
- ID аккаунта
- Номер телефона
- Владелец аккаунта (пользователь)
- Количество созданных отложенных сообщений
- Дата последней активности
- Кнопка удаления аккаунта
- Пагинация:
- 50 записей на страницу
- Навигация по страницам
- Сортировка по любому столбцу
- Фильтрация данных:
- По пользователю
- По дате
- По количеству сообщений
### 1.3 Регистрация пользователей
- Поля для регистрации:
- Логин
- Пароль
- Никнейм Telegram
- Статус: ожидание подтверждения администратором
- Доступ к панели только после подтверждения
### 2. Функционал панели пользователя
2.1 Управление аккаунтами
Кнопка "Добавить аккаунт"
Таблица аккаунтов со следующими элементами:
Порядковый номер
Номер телефона аккаунта
Кнопка "Включить рассылку"
Кнопка "Удалить аккаунт"
Чекбокс для выбора аккаунта
Кнопка "Включить рассылку для выбранных"
### 3.3 Алгоритм рассылки
1. Сбор контактов:
- Получение всех контактов
- Фильтрация взаимных контактов
- Сортировка по времени последнего онлайна:
- Онлайн сейчас
- Недавно в сети
- Менее часа назад
- Менее двух часов назад
- И так далее
2. Механизм отложенной отправки:
- Группировка контактов по 5
- Быстрое создание отложенных сообщений:
- Минимальная задержка между запросами для избежания ограничений API
- Для первой группы: отложенная отправка через 5 минут от текущего времени
- Для каждой следующей группы: +15 минут к времени отправки
- Пример для 100 контактов:
- 20 групп по 5 контактов
- Создание всех отложенных сообщений происходит последовательно с минимальной задержкой
- Время создания всех отложенных сообщений: несколько секунд
- Фактическая отправка сообщений будет происходить в течение 5 часов
- После создания всех отложенных сообщений:
- Немедленное отключение от аккаунта
- Освобождение ресурсов
- Обновление статистики в базе данных
## 4. Технические требования
- Асинхронное выполнение всех операций
- Поддержка до 50 параллельных потоков
- Хранение файлов сессий и конфигураций в отдельной папке проекта
- Работа через прокси
- Обработка ошибок и исключений
- Логирование процессов
- Оптимизация работы с API Telegram:
- Минимальные задержки между запросами
- Эффективное управление соединениями
- Обработка ограничений API
## 5. Файловая структура
- Файл proxy.txt с прокси
- Папка для хранения сессий
- Папка для JSON-конфигураций аккаунтов
- База данных для хранения статистики:
- Таблица аккаунтов
- Таблица пользователей
- Таблица статистики отправленных сообщений