Как я могу получить сообщение отправителя из диалогового окна? - PullRequest
1 голос
/ 13 апреля 2020

Я использую библиотеку dialogflow-fulfillment. Я обнаружил, что разные платформы имеют разные реакции агента. В настоящее время я получаю сообщение отправителя, разделенное на каждую платформу. Но это означает, что мне нужно написать логи поиска сообщений c для каждой платформы. Есть ли общий способ получения сообщения отправителя вместо этого?

Я ожидаю, что некоторые встроенные функции, такие как agent.get('senderMessage')

function welcome(agent) {
   let senderMessage = '';

   if (agent.originalRequest.source === 'telegram') {
      senderMessage = agent.originalRequest.payload.data.text
   } else if (agent.originalRequest.source === 'facebook') {
      senderMessage = agent.originalRequest.payload.data.message.text
   }
} 

Telegram

{
  source: 'telegram',
  payload: {
    data: {
      text: 'hello',
      date: 123
      from: [Object],
      chat: [Object],
      message_id: 76
    }
  }
}

Facebook

{
  source: 'facebook',
  payload: {
    data: {
      recipient: [Object],
      message: {
         text: 'hello',
      },
      timestamp: 123
      sender: [Object]
    },
    source: 'facebook'
  }
}
...