ym88659208ym87991671
Входной сценарий | Документация SmartMarket
Skip to main content

Входной сценарий

В файл main.sc добавьте следующий сценарий:

require: requirements.sc

theme: /
state: Start
q!: $regex</start>
if: !$client.name
a: Здравствуйте! Как я могу к вам обращаться?
go!: /Start/GetName
else:
a: Здравствуйте! Чем могу помочь?

state: GetName
state:
q: * @pymorphy.name *
script: $client.name = $parseTree.value
a: Чем могу помочь, {{ $client.name }}?

state:
event: noMatch
a: Чем могу помочь?

state:
event!: noMatch
a: Пожалуйста, уточните запрос.

Здесь:

  • Подключаем модули и зависимости:
require: requirements.sc
  • Старт сценария. При отсутствии имени клиента смартап переходит к стейту GetName.
    state: Start
q!: $regex</start>
if: !$client.name
a: Здравствуйте! Как я могу к вам обращаться?
go!: /Start/GetName
else:
a: Здравствуйте! Чем могу помочь?
  • Получение данных о клиенте. В данном стейте смартап распознает имя клиента при помощи системной сущности @pymorphy.name. Для сущности, указанной в паттерне, автоматически создается слот и она попадает в дерево разбора parseTree.
danger

Перейдите к разделу Сущности > Системные. Активируйте распознавание сущности @pymorphy.name.

        state: GetName
state:
q: * @pymorphy.name *
script: $client.name = $parseTree.value
a: Чем могу помочь, {{ $client.name }}?
  • В данном стейте мы обрабатываем кейсы, когда сущность не была распознана или клиент отказался называть имя.
            state:
event: noMatch
a: Чем могу помочь?
  • Обработка непредусмотренных сценарием запросов клиента.
danger

Обратите внимание, что при использовании NLU-ядра Brain для непредусмотренных сценарием запросов клиента применяется event: noMatch.

    state:
event!: noMatch
a: Пожалуйста, уточните запрос.
note

Далее приступайте к созданию заполнению сущностей.

Обновлено 20 апреля 2022

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней