# Повідомлення й переходи

Ці функції вирішують, що контакт побачить і куди сценарій піде після коду. Повідомлення й перехід виконуються після того, як код завершився без помилки, — у тому порядку, у якому їх викликали.

## sendMessage

```js
sendMessage(text)
```

Надсилає контакту текстове повідомлення.

| Параметр | Тип | Що передати |
|---|---|---|
| `text` | Рядок | Текст повідомлення. Число перетвориться на рядок |

**Нічого не повертає.**

Порожній рядок не надсилається. Текст іде як є: [автопідстановки](https://support.watbot.org/uk/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 >= 2000) {
    goToBlock(12345);
    disableContinue();
}
```

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

## disableContinue

```js
disableContinue()
```

Вимикає зв'язок «Продовжити» блоку на цей запуск: сценарій не піде далі ним. Наступного разу зв'язок знову працює, доки код знову не викличе `disableContinue()`.

**Параметрів немає.**

**Нічого не повертає.**

Так код сам вирішує, чи йти сценарію далі: наприклад, зупинитися, доки контакт не заповнив адресу.

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

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