Пользовательские данные в диалоге - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь отправить пользовательскую полезную нагрузку в Dialogflow из выполнения (nodejs)

Мой мотив - отправить ссылку и текст в ответ на веб-страницу.

мой пример кода для справки:

  const response = {
      messages: [
        {
          payload: {
            messages: [
              {
                speech: 'here are some quick links for your convenience.',
                linkmessage: [{
                  message: 'google',
                  link: 'www.google.com'
                }, {
                  message: 'yahoo',
                  link: 'www.yahoo.co.in'
                }],
                button: [{
                  buttonname: 'more page'
                }]
              }
            ]
          }
        }
      ]
    };
    agent.add(new Payload(agent.UNSPECIFIED, response, { rawPayload: true, sendAsMessage: true}));

Здесь я получаю ответ в виде:

{
    "fulfillment": {
      "speech": "",
      "messages": [
        {
          "lang": "en",
          "type": 0,
          "speech": ""
        }
      ],
      "data": {
        "null": {
          "messages": [
            {
              "payload": {
                "messages": [
                  {
                    "speech": "here are some quick links for your convenience.",
                    "linkmessage": [{
                      "message": "google",
                      "link": "www.google.com"
                    }, {
                      "message": "yahoo",
                      "link": "www.yahoo.co.in"
                    }],
                    "button": [{
                      "buttonname": "more page"
                    }]
                  }
                ]
              }
            }
          ]
        }
      }
    }

Здесь вы можете увидеть в ответ я получаю объект " null ", добавленный в объект данных в ответе.

может помочь мне удалить этот нулевой объект из ответа диалогового потока и любую другую опцию для отправки пользовательской полезной нагрузки из выполнения nodejs.

1 Ответ

0 голосов
/ 28 апреля 2020
function update() {
const response = {
      messages: [
        {
          payload: {
            messages: [
              {
                speech: 'here are some quick links for your convenience.',
                linkmessage: [{
                  message: 'google',
                  link: 'www.google.com'
                }, {
                  message: 'yahoo',
                  link: 'www.yahoo.co.in'
                }],
                button: [{
                  buttonname: 'more page'
                }]
              }
            ]
          }
        }
      ]
    };
    agent.add(new Payload(agent.UNSPECIFIED, response, { rawPayload: true, sendAsMessage: true}));
}

В этой функции необходимо добавить параметр в качестве агента, чтобы вы могли получить ненулевой объект

Код ссылки необходимо обновить.

function update(agent) {
const response = {
      messages: [
        {
          payload: {
            messages: [
              {
                speech: 'here are some quick links for your convenience.',
                linkmessage: [{
                  message: 'google',
                  link: 'www.google.com'
                }, {
                  message: 'yahoo',
                  link: 'www.yahoo.co.in'
                }],
                button: [{
                  buttonname: 'more page'
                }]
              }
            ]
          }
        }
      ]
    };
    agent.add(new Payload(agent.UNSPECIFIED, response, { rawPayload: true, sendAsMessage: true}));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...