# Контейнеры

{% embed url="https://youtu.be/jerZJD4Oy28" %}

Контейнеры - это уникальная механика, содержащая в себе набор функций.

При работе с блоками вам необходимо сперва создать контейнер.

Контейнер создается **автоматически**, когда вы создав блок, открываете его и выбираете функцию из списка.

Также можно создать контейнер в левом нижнем углу рабочей панели блока:

<figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FJVrXoTFWZrQKXQPJ3pUh%2FScreenshot_8.png?alt=media&#x26;token=a5c531c5-9747-4809-b069-e265eed248fc" alt=""><figcaption></figcaption></figure>

В любом блоке может быть несколько контейнеров!

У каждого блоке есть порты выхода. \
Именно условия выполнения контейнера влияет на этот порт.

### Условия работы контейнеров:

1.  Если это блок **события**, то порт выхода сработает на выполнение любого из контейнеров. Это тоже самое, если бы создали несколько блоков события с одним контейнером.\
    \
    В этом примере, событие сработает **либо** когда пользователь напишет сообщение, **либо** когда подпишется в сообщество ВК / канал Telegram.\


    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FLKmFNH6trX0TBYNSHnbT%2Fimage.png?alt=media&#x26;token=aff5e89b-cb32-451a-8a04-87036a0988fa" alt=""><figcaption></figcaption></figure>
2.  Если это [блок условия](block/condition), то каждый контейнер создает новый порт выхода.

    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FZJqDM3uYnMdGct9bA6dq%2Fimage.png?alt=media&#x26;token=c86036de-86bd-4e1e-83a5-ede70c0cacca" alt=""><figcaption></figcaption></figure>

    Мы также можем переименовать названия контейнеров для удобства:

    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2F4Te9rPwi62J5TPkxSDjF%2Fimage.png?alt=media&#x26;token=2f5f5954-b55e-4772-a887-0134cea1bbed" alt=""><figcaption><p><br></p></figcaption></figure>

    Готовый пример:

    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FWXies9erhsYow83id9hj%2Fimage.png?alt=media&#x26;token=3fd252c9-596a-418e-94c6-8af03d272273" alt=""><figcaption></figcaption></figure>

    ВАЖНО! Контейнеры условий проверяются последовательно.\
    В примере выше, сперва бот проверит находится ли пользователь в списке "Эксперт", если нет, то проверит находится ли он в списке "Продюсер". Если ни одно из условий не сработает, то сработает порт "<mark style="color:orange;">Иначе</mark>".\

3.  В [блоке действия](block/action) контейнеры также работают последовательно.\
    Например, мы можем сделать цепочку из сообщений и таймеров.\


    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FNs8CyoPeh4bY6eYdhUyY%2Fimage.png?alt=media&#x26;token=71da6bd6-1adc-4765-aa36-5f60c92b63ea" alt=""><figcaption></figcaption></figure>
4.  В [блоке сообщения](block/message) контейнеры также работают последовательно:\


    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FhcrtxnPibFaYdw3rI48u%2Fimage.png?alt=media&#x26;token=8bf4eb65-30f5-4767-bb6e-b8f0a442371b" alt=""><figcaption></figcaption></figure>
5.  В [блоке таймера](block/timer), контейнеры также работают последовательно:\


    <figure><img src="https://2249269224-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FLmohxxJlESle3zPCwerN%2Fuploads%2FzZh7LRrcorSLFBnrMmpt%2Fimage.png?alt=media&#x26;token=09d402b2-ca71-4ac2-9997-815aeeb0cd15" alt=""><figcaption></figcaption></figure>

