---
tags: ["iptvc"]
---

# Команда `check`

Команда поддерживает множество аргументов для разных целей.

Они могут дополнять друг друга.

Порядок аргументов не имеет значения.

<a id="ini"></a>
## `-i`, `--ini`

Указывает путь к локальному [ini-файлу](../../formats/playlists.md) с описанием плейлистов.

Можно указать только однажды.

Значение по умолчанию: `./playlists.ini`

Если файл не найден, проверка плейлистов будет доступна только по ссылкам ([`--url`](#url)) или из локальных файлов ([`--file`](#file)).

Пример:

```bash
iptvc check -i ~/my.ini
```

<a id="tags"></a>
## `-t`, `--tags`

Указывает путь к локальному [json-файлу](../../formats/channels.md) с описанием тегов каналов.

Можно указать только однажды.

Значение по умолчанию: `./channels.json`

Если файл не найден, то будет выведено предупреждение о том, что каналы не будут помечены тегами.

Пример:

```bash
iptvc check -t ~/tags.json
```

<a id="file"></a>
## `-f`, `--file`

Указывает путь к локальному файлу плейлиста `*.m3u`/`*.m3u8`.

Можно указать несколько разных.

Пример:

```bash
iptvc check -f playlist.m3u
iptvc check -f playlist1.m3u --file playlist2.m3u8
iptvc check --file /path/to/playlist.m3u
```

<a id="url"></a>
## `-u`, `--url`

Указывает URL удалённого плейлиста (поддерживаются протоколы http/https).

Можно указать несколько разных.

Пример:

```bash
iptvc check -u http://example.com/playlist.m3u
iptvc check -u https://site.com/playlist.m3u8 --url http://other.com/list.m3u
```

<a id="code"></a>
## `-c`, `--code`

Указывает код плейлиста из файла [playlists.ini](../../formats/playlists.md).

Можно указать несколько разных.

!!! warning "Работает только вместе с [`--ini`](#ini)."

Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.

Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.

Пример:

```bash
iptvc check -i ~/my.ini -c RU_BASIC --code MOVIE_PREMIUM
```

<a id="repeat"></a>
## `--repeat`

Указывает количество повторений (итераций) команды.

Значение по умолчанию: `1`

Если указано `0`, тогда:

* повторение будет бесконечным;
 
* если переданы [`--url`](#url), [`--file`](#file) или [`--code`](#code), то на каждой итерации будут проверяться только указанные плейлисты;
 
* если не переданы [`--url`](#url), [`--file`](#file) или [`--code`](#code), то на каждой итерации список плейлистов будет подготавливаться заново.  
  Если при этом используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.

Пример:

```bash
# проверить 5 раз плейлисты с кодами xx и yy из my.ini 
iptvc check -i ~/my.ini -c xx --code yy --repeat 5
# бесконечно проверять все плейлисты из my.ini, без учёта проверенных
iptvc check -i ~/my.ini --repeat 0
# бесконечно проверять плейлист из файла
iptvc check -f test.m3u --repeat 0
```

<a id="every"></a>
## `--every`

Указывает количество секунд между повторениями (итерациями) команды.

Значение по умолчанию: `5`

Если указано `0`, то задержки не будет.

Пример:

```bash
# проверить 5 раз плейлисты с кодами xx и yy из my.ini каждые 5 секунд
iptvc check -i ~/my.ini -c xx --code yy --repeat 5 --every 5
# бесконечно проверять все плейлисты из my.ini, без учёта проверенных, каждый час
iptvc check -i ~/my.ini --repeat 0 --every 3600
# бесконечно проверять плейлист из файла каждые 10 секунд
iptvc check -f test.m3u --repeat 0 --every 10
```

<a id="random"></a>
## `-r`, `--random`

Указывает максимальное количество случайных плейлистов из ini-файла для проверки.

!!! warning "Работает только вместе с [`--ini`](#ini)."

Если не указан ни разу, то будут проверены все плейлисты, которые указаны в ini-файле.

Если используется кеширование, то проверенные плейлисты (результаты проверки которых ещё находятся в кеше) проверяться не будут.

Пример:

```bash
iptvc check -i ~/my.ini -r 10
```

<a id="json"></a>
## `-j`, `--json`

Если указано, то подробные результаты проверки будут выводиться в формате JSON.

Пример:

```bash
iptvc check -f playlist.m3u --json
```

<a id="quiet"></a>
## `-q`, `--quiet`

Подавляет вывод всех логов.

!!! info "Не влияет на [`--json`](#json), но перекрывает [`--verbose`](#verbose)."

Пример:

```bash
iptvc check -i ~/my.ini -r 10 -q --json
```

<a id="verbose"></a>
## `-v`, `--verbose`

Включает подробное логирование.

Пример:

```bash
iptvc check --random 10 --verbose
```
