Dialogflow: если условие основано на времени отклика - PullRequest
0 голосов
/ 06 марта 2020

Я делаю чат-бот для доставки пиццы, и один из обучающих примеров -

Вы открыты прямо сейчас?

ИМЯ ПАРАМЕТРА РАЗРЕШЕННОЕ ЗНАЧЕНИЕ ДЛЯ СУЩНОСТИ ПАРАМЕТРА

time             @sys.time            now

Один из ответов, который я хочу получить, если время между 12 и 6 часами утра, кодированный ответ:

{{# if $ time> 12:00 : 00}} Я думаю, что слишком поздно {/ if}}

Но я получаю ответ:

{# if 12:00:34> 12:10:00} Я думаю, что слишком поздно {/ if} , что неправильно. Может кто-нибудь помочь мне решить эту проблему.

TIA

1 Ответ

1 голос
/ 06 марта 2020

Секция Response имеет очень очень простую систему шаблонов - она ​​допускает замену параметра / значения, и это все.

Таким образом, вы можете указать значение параметра из входной фразы используя что-то вроде $parameter-name, тогда как значения параметров в контексте или событии будут #context-name.parmaeter-name. Вам не нужно {braces} для выполнения оценки, поскольку они используются для экранирования $ и # в качестве специальных символов . Поэтому, если вам нужно показать «100 долларов», вы должны написать это как ${100}. Если вам нужно отобразить фигурные скобки, вы должны включить их в другой набор фигурных скобок, поэтому ваш текст, похоже, удаляет фигурные скобки.

Вам нужно будет включить эту обработку в свой код выполнения. Такие библиотеки, как multivocal , позволят вам создавать ответы и настраивать логи ответов c, используя шаблоны. (Multivocal использует библиотеку шаблонов руля, например.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...