Plánovače sú triedy, ktoré umožňujú plánovať správy v určitých intervaloch alebo časoch.

## Jednoduchý plánovač

Jednoduchý plánovač na odosielanie správ v určitom čase.

```php
$scheduler = new Simple(new DateTime('2025-12-13 12:00'));
$scheduler->schedule($message);
```

## Kampaň

Plánovač kampaní umožňuje spustiť odosielanie správ od určitého času v definovaných intervaloch. Môžete tiež definovať, koľko naplánovaných správ sa odošle po určitom intervale.

```php
$scheduler = new Campaign(new DateTime('2025-12-13 12:00'));
$scheduler->restriction(100 /* messages */, 2, 'hours');
$scheduler->schedule($message);
```

Metóda `restriction()` prijíma len tieto jednotky: `minute`, `minutes`, `hour`,
`hours`, `day`, `days`. Iná hodnota skončí výnimkou
`BulkGate\Sdk\InvalidStateException`.

Čas začiatku zmeníte metódou `datetime()`, počítadlo rozoslaných dávok vynuluje
`reset()`.

## Žiadne plánovanie

`BulkGate\Sdk\Scheduler\None` je prázdny plánovač — správu odošle okamžite.
Hodí sa tam, kde plánovač odovzdávate podmienene.

## Odovzdanie plánovača senderu

Plánovač nemusíte volať ručne; keď ho nastavíte senderu, použije sa na každú
odoslanú správu.

```php
$sender->setScheduler(new Simple(new DateTime('2025-12-13 12:00')));
$sender->setScheduler(null); // zrušiť plánovanie
```
