создайте переменную контекста от узла красный к разговору Уотсона - PullRequest
0 голосов
/ 18 октября 2018

Можно ли отправить переменную в разговор Ватсона?

Это просто то, что я пытаюсь сделать.Get Slack Username Сохраните имя пользователя как переменную контекста. Когда пользователь говорит с чат-ботом, он скажет: Hello username без необходимости ввода данных пользователем.

Я прочитал о Additional_context, но якажется, нигде не могу найти, как его использовать.Это моя функция, которая обрабатывает слабый текст перед тем, как перейти к разговору Уотсона

msg._payload = msg.payload;
msg.payload = msg._payload.event.text; 
msg.additional_context = msg._payload.event.user
node.send(msg); // Send the message long to the next node

Если я посмотрю в отладочном узле, ключ дополнительный_контекст вернет идентификатор пользователя правильно, но я не знаю, как это сделать "получить его изнутри узла беседы.

Заранее спасибо

1 Ответ

0 голосов
/ 23 октября 2018

Добавить дополнительную переменную означает добавить переменную в часть "context" запроса сообщения.При отправке сообщения POST в API Watson Assistant (Conversation) добавьте переменную следующим образом:

{ "input": { "text" : "Text the user typed." } "context" : { "username" : "user name", ...+all of the attributes of the context sent in the the last response from WA } }

Просто помните - в начале разговора можно отправлять пустые сообщения context или context, содержащий только переменную username.Однако, как только начинается диалог, система отправляет свое состояние в поле context, поэтому важно отправить этот контекст обратно в следующем запросе сообщения POST (так как система не имеет состояния и состояние удерживается в контекстеобъект).Можно добавить дополнительные переменные из node.js в этот контекст.

Подробнее о сообщении POST можно прочитать здесь: Документация API (23.10.2018)

...