# Сообщения и переходы

Эти функции решают, что контакт увидит и куда сценарий пойдёт после кода. Сообщения и переход выполняются после того, как код завершился без ошибки, — в том порядке, в каком их вызвали.

## sendMessage

```js
sendMessage(text)
```

Отправляет контакту текстовое сообщение.

| Параметр | Тип | Что передать |
|---|---|---|
| `text` | Строка | Текст сообщения. Число превратится в строку |

**Ничего не возвращает.**

Пустая строка не отправляется. Текст уходит как есть: [автоподстановки](https://support.watbot.ru/chatbots/templates) `{{ ... }}` в нём не выполняются — нужные значения вставьте в строку кодом.

За один запуск можно отправить до 10 сообщений. Уже одиннадцатый вызов завершит код с ошибкой, и не отправится ни одно сообщение.

```js
var bouquet = getContactVariable('букет');
var price = Number(getContactVariable('цена') || 0);

sendMessage('Ваш заказ: ' + bouquet + '.');
sendMessage('К оплате: ' + price + ' ₽.');
```

## goToBlock

```js
goToBlock(id)
```

Переводит контакта в блок сценария: бот выполнит этот блок так же, как если бы к нему вела связь.

| Параметр | Тип | Что передать |
|---|---|---|
| `id` | Число | ID блока этого же бота. Он виден в настройках блока |

**Ничего не возвращает.**

Вызвать функцию можно один раз за запуск — второй вызов завершит код с ошибкой. Если блока с таким ID у бота нет, перехода не будет, а ошибки в логе не появится — проверьте ID.

`goToBlock` не отменяет связь «Продолжить»: без `disableContinue()` бот выполнит и указанный блок, и тот, что подключён к «Продолжить».

```js
var sum = Number(getContactVariable('сумма_заказа') || 0);

if (sum >= 5000) {
    goToBlock(12345);
    disableContinue();
}
```

Вместо `12345` подставьте ID нужного блока.

## disableContinue

```js
disableContinue()
```

Отключает связь «Продолжить» у блока на этот запуск: сценарий не пойдёт дальше по ней. В следующий раз связь снова работает, пока код опять не вызовет `disableContinue()`.

**Параметров нет.**

**Ничего не возвращает.**

Так код сам решает, идти ли сценарию дальше: например, остановиться, пока контакт не заполнил адрес.

```js
var address = getContactVariable('адрес_доставки');

if (!address) {
    sendMessage('Напишите адрес доставки, и мы продолжим оформление.');
    disableContinue();
}
```
