Использование слота в Watson Assistant и Node RED - PullRequest
0 голосов
/ 06 февраля 2020

Я создаю чат-бота на Telegram с помощью Watson Assistant и Node RED. Мне нужно взять дату и время у пользователя для бронирования встречи, поэтому я использовал слот, который требует вставки двух данных. Используя пробный чат-бот, предлагаемый Watson, у меня нет проблем со слотом; но, используя Node RED, я не могу go после ввода даты. Через отладку я увидел, что после ввода даты, затем после запуска первого слота возвращается эта ошибка «msg.payload.content is empty». Кроме того, при просмотре тела выходного сообщения, возвращаемого помощником, поле msg.payload.output.generi c пусто. С другой стороны, он должен содержать ответ помощника, который после ввода даты просит также указать время. Кажется, бот застревает при вводе даты, но на самом деле я так не думаю, потому что в пробном чат-боте он работает отлично.

В чем может быть проблема?

1 Ответ

0 голосов
/ 07 февраля 2020

Ни Assistant V1, ни V2 не устанавливают и не смотрят на msg.payload.content. На входе они смотрят на msg.payload, а на выходе назначают ответ от Watson Assistant на msg.payload.

Если вы получаете сообщение об ошибке «msg.payload.content» пусто, то это произойдет где-то в вашем потоке. Скорее всего, в конце, где вы пытаетесь обработать ответ. Если msg.payload.content пусто, диалоговое окно помощника не возвращает никакого вывода. Это странно, так как должно возвращаться подсказка для текущего пустого слота.

Как выглядит msg.payload?

Используете ли вы узел V1 или V2, и какую версию узлов node-red-node-watson вы используете? Вы можете сказать, перейдя в палитру.

Оба узла V1 и V2, однако, были протестированы со слотами, и ответ в итоге заканчивается на msg.payload.content. Текущая выпущенная версия node-red-node-watson: 0.9.0.

...