В файл 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
.
Перейдите к разделу Сущности
> Системные
. Активируйте распознавание сущности @pymorphy.name
.
state: GetName
state:
q: * @pymorphy.name *
script: $client.name = $parseTree.value
a: Чем могу помочь, {{ $client.name }}?
- В данном стейте мы обрабатываем кейсы, когда сущность не была распознана или клиент отказался называть имя.
state:
event: noMatch
a: Чем могу помочь?
- Обработка непредусмотренных сценарием запросов клиента.
Обратите внимание, что при использовании NLU-ядра Brain для непредусмотренных сценарием запросов клиента применяется event: noMatch
.
state:
event!: noMatch
a: Пожалуйста, уточните запрос.
Далее приступайте к созданию заполнению сущностей.