# Рассылка по личкам из файла

### Рассылать можно по:

* номерам телефонов
* юзернеймам

### Алгоритм работы рассыльщика

При старте задания каждый аккаунт берет в работу одного пользователя из списка.  Если аккаунт по каким-либо причинам не может отправить сообщение пользователю, то задание выполнит другой подходящий аккаунт из задачи.

> **Пример:** Имеем список из 100 пользователей и 20 аккаунтов.
>
> При старте рассылки:\
> \- аккаунт1 отправит сообщение пользователю1 из списка\
> \- аккаунт2 — пользователю2\
> \- аккаунт3 — пользователю3\
> \-  ... \
> \- аккаунт20 — пользователю20. \
> \
> Далее: \
> \- аккаунт1 — пользователю21\
> \- аккаунт2 — пользователю22, \
> \- допустим, аккаунт3 к этому моменту забанили. Тогда отправить сообщение пользователю23 попробует аккаунт4 и т.д.\
> \
> То есть, если не будет проблем с аккаунтами (баны, slowmode и т.д.) и пользователями (не закрыты), то каждый аккаунт разошлет равномерно сообщение в 5 пользователям. Если в ходе рассылки появится проблема с каким-то аккаунтом (забанили, уперся в лимит, slowmode), то задание выполнит следующий свободный аккаунт.\
> \
> Если аккаунты закончились до окончания списка рассылки — задача станет на паузу.

**Задержка в секундах между попытками в рамках задачи** — задача будет рассылать сообщения не чаще, чем в установленном интервале в секундах. Если, например, аккаунты все заняты или их нет свободных, то задача может ждать дольше.

**Пауза в секундах после завершения предыдущей попытки в рамках аккаунта** — аккаунт будет ожидать заданное время, после отправки предыдущего сообщения перед следующей попыткой отправки.

**Пауза после поиска личного чата** — пауза между поиском аккаунта, которому будет адресовано сообщение и самой отправкой сообщения.
