Как сделать проверку шаблона для предложения после OOB в Chatscript
Я пытаюсь добиться чего-то подобного, у меня есть данные OOB и какой-то пользователь, введенный текст, я могу проанализировать данные OOB, которые являются JSON. Но я не могу проверить шаблон для введенных пользователем данных. Тестовые данные в приведенном ниже примере ввода. Есть ли какие-либо предложения, как я могу это сделать?
u: (< \[ * input _* \] _*) ^keep() ^repeat()
$inputData=_0
$secondInput=%originalinput
getNameFromJson($inputData $secondInput)
$_tmp = ^jsonparse( $inputData )
\n name: $_tmp.user, phone: $_tmp.speed
if(^match(TEST)) {
^reuse(TEST)
} else if(match(THANKS)){
^reuse(THANKS)
}
u: TEST (test) ^keep() ^repeat()
Some test impl
u: THANKS (~thankConcept) ^keep() ^repeat()
Glad to be of help.
Мой ввод выглядит как [ input {user:"test", speed:10} ] Тестовые данные
1 ответ
В simplecontrol.top вы можете поместить следующее правило перед MAIN
u: ( \[ _* \] )
$requestData = ^jsonparse(^original(_0))
^fail(SENTENCE)
$ requestData будет захватывать ваш ввод JSON (предоставляется в OOB). Здесь важна функция ^fail(), так как она позволит продолжить обработку вашего входного предложения. После вышеприведенного правила Если вы сохраняете u: MAIN (), как это предусмотрено в simplecontrol.top гарри-бота, вы можете сопоставить "Тестовые данные" со следующим правилом в любой соответствующей теме.
u: (Test Data) ^keep() ^repeat() Some test impl