# Публикация сценария

## Что такое публикация сценария

Предположим, что у вас уже есть работающий сценарий, которым пользуются ваши клиенты. Вы решили внести в него изменения, но как это будет выглядеть для пользователей? Остановится ли сценарий для всех, кто напишет в бота, пока вы вносите правки? А если человек уже находится в середине сценария?

Сразу ответим: ничего страшного не произойдет; пока вы меняете сценарий, клиенты взаимодействуют с его старой (последней опубликованной) версией. Когда вы внесете все нужные изменения, просто нажимайте "Опубликовать", и сценарий обновится для всех.&#x20;

С момента публикации ваши клиенты пойдут по обновленным блокам и цепочкам.

## Как это выглядит

Интерфейс публикации показывает текущее состояние сценария. Возможные состояния:

* Сценарий не опубликован
* Сценарий опубликован и пока не был изменен
* Сценарий опубликован и был изменен с момента последней публикации

Надпись "**Сценарий не опубликован**" означает, что он не работает ни в одном канале и пока является **черновиком**.&#x20;

Пометка **"Есть неопубликованные изменения"** говорит о том, что сценарий работает, но в нем есть новшества еще не доступные пользователям.

**"Сценарий опубликован"** - знак того, что изменений с последней публикации не было, и сценарий функционирует для всех в текущем виде.

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2Flp5vL6dKxdV30Tb5BSg1%2Fimage.png?alt=media&#x26;token=548d1e7f-67f0-4bdd-aa81-04dc4e88537f" alt=""><figcaption></figcaption></figure>

Если сценарий не опубликован, вам будет доступна кнопка публикации ("Опубликовать"). Подробнее про подключение каналов написано в статье ["Как подключить мессенджер"](https://docs.smartbotpro.ru/nachalo-raboty/kak-podklyuchit-messendzher).

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FLU633FORJmakx29wRxpV%2Fimage.png?alt=media&#x26;token=97853598-a1a7-4046-90c3-2edddedbd372" alt=""><figcaption></figcaption></figure>

Если сценарий был опубликован ранее, то для ваших подписчиков он уже работает. Тогда кнопка "Изменения не опубликованы" просто отсутствует:&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FEHv8HHushnAaEMECYTI7%2Fimage.png?alt=media&#x26;token=27688855-920e-4814-a85f-85e0fdf86654" alt=""><figcaption></figcaption></figure>

При этом вы можете его изменять в режиме черновика. Например, вы захотели изменить логику бота, но не хотите сразу публиковать ее, а сначала хотите проверить. В таком случае вы можете изменить сценарий и тестировать его, но не публиковать.

Просто начните вносить изменения, и кнопка "Изменения не опубликованы" появится снова.

Давайте подробнее разберем опции этой кнопки:

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FUy8slDPpAIvoCxjaix18%2Fimage.png?alt=media&#x26;token=11a71d53-e642-4223-b942-c13695bbd80e" alt=""><figcaption></figcaption></figure>

&#x20;

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

По нажатию на кнопку **"сбросить изменения"** все изменения относительно последней опубликованной (чистовой) версии будут удалены. Сценарий вернется в последнее опубликованное состояние.

Чтобы опубликовать черновик, нажмите кнопку **опубликовать.** Тогда ваш черновик (то, что вы видите в редакторе сценария в этот момент) станет "**чистовиком**" и будет работать у всех подписчиков.

### FAQ и рецепты

*Первый вариант*:&#x20;

В настройках каждого проекта есть специальный пункт "**Режим работы проекта**", позволяющий отключить все сценарии для пользователей и оставить только для администраторов:&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FJVqGtfKzIdTgMGbsqdHl%2Fimage.png?alt=media&#x26;token=c64cdfd2-cb8d-4ea3-9ec3-aefb4abf5048" alt=""><figcaption></figcaption></figure>

*Второй вариант:*

Если вам не нужно отключать сразу все сценарии, то включите в настройках проекта опцию "Администратор общается с **неопубликованной версией** проекта", а затем просто **выключите** нужный сценарий в его **опубликованной** версии.&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2F1flM24hKlJiJd7RgpzWB%2Fimage.png?alt=media&#x26;token=c4fce76a-b516-4164-ab7e-9ba29e7490a7" alt=""><figcaption></figcaption></figure>

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FJ6XtfRu9sbMra7QLnhRT%2Fimage.png?alt=media&#x26;token=211fb44c-823a-4090-b8b5-93f9460f462f" alt=""><figcaption></figcaption></figure>

С этого момента бот перестанет отвечать пользователям по данному сценарию, но продолжит отвечать вам. Таким образом, изменения в сценарии будут доступны только администраторам.

#### 2. Как опубликовать изменения в боте для всех?

Зайдите в сценарий и нажмите на кнопку "**Изменения не опубликованы**"; затем выберите "**Опубликовать**"

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2Fge1m1YnIhtsnwl4jZuIm%2Fimage.png?alt=media&#x26;token=24e16f00-8a65-4723-b6a6-4f44b8fe0c76" alt=""><figcaption></figcaption></figure>

#### 3. Как найти ошибку в сценарии бота?&#x20;

**Используйте отладочные сообщения** - это специальные системные сообщения, которые выходят вместе с ответами от вашего бота.&#x20;

Отладка пошагово демонстрирует, какие запускаются сценарии и блоки. Таким образом, вы видите, какой блок реагирует на команду и почему.&#x20;

Отладка включается в настройках проекта, в пункте "**Выводить отладочные сообщения**" (здесь же можно выбрать, показывать отладку только в ЛС или также в беседах, где отвечает бот):&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FYzGkNzwTtKckRr4EfzWI%2F%D0%9E%D1%82%D0%BB%D0%B0%D0%B4%D0%BE%D1%87%D0%BD%D1%8B%D0%B5.png?alt=media&#x26;token=a05d2bf2-27fb-4870-b9ac-b65c2858662f" alt=""><figcaption></figcaption></figure>

Вот, как выглядят отладочные сообщения в Telegram:&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FVM8hT0BssmYM3lMSZdS2%2Fimage.png?alt=media&#x26;token=0c82913a-723b-47b2-9a5c-797f0ad6763d" alt=""><figcaption></figcaption></figure>

А так - ВКонтакте:&#x20;

<figure><img src="https://4058588211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvTd8XmFMqkqZga7zhLuk%2Fuploads%2FFO72lWE4IOPwM3CdQEda%2Fimage.png?alt=media&#x26;token=fe0421cb-374f-4a44-97f4-74bb82359eb2" alt=""><figcaption></figcaption></figure>

Включив отладку, остается только воспроизвести проблему: написать те же сообщения в том же порядке, что писал ваш пользователь. Так вы поймете причину некорректного поведения бота и сможете исправить ее в сценарии.&#x20;

{% hint style="info" %}
Если вы - менеджер кабинета, но не получаете отладочных сообщений, хотя они включены, то убедитесь, что [привязали ваш аккаунт в социальной сети](https://docs.smartbotpro.ru/nachalo-raboty/kak-podklyuchit-messendzher/privyazka-akkaunta-socialnoi-seti). После успешной привязки отладка начнет вам приходить.
{% endhint %}
