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

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

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

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

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

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

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

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

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

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

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

<figure><img src="/files/DFKwguemKeQnDabZFjM4" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/RDrHwLDWKnsigbn0I85V" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/7jmcZ9aTmLq7JNOhMWbE" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="/files/wpv77DxAeXaCA5wbvinO" alt=""><figcaption></figcaption></figure>

&#x20;

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

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

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

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

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

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

<figure><img src="/files/vgvEFZk6nGgd3K8c2YMK" alt=""><figcaption></figcaption></figure>

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

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

<figure><img src="/files/iD9GRGPGrDBXbaQr8eOF" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/cfwo0s5SYfJ60q9Xgmk6" alt=""><figcaption></figcaption></figure>

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

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

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

<figure><img src="/files/E4zE4928aRYHci052aDn" alt=""><figcaption></figcaption></figure>

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

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

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

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

<figure><img src="/files/p03BwFfhdxJA2qLM1Gfz" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/N1yItkQKPjA79fcy0yal" alt=""><figcaption></figcaption></figure>

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

<figure><img src="/files/7P8tXKQOVgS0GENxqBJT" alt=""><figcaption></figcaption></figure>

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

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


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.smartbotpro.ru/scenarii/osnovy/publikaciya-scenariya.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
