如何使用Node.js更改Twilio中从客户端发送的基于消息的消息的答复?

时间:2018-10-05 23:11:20

标签: node.js reactjs twilio chatbot twilio-programmable-chat

我正在尝试建立一个SMS对话平台,在该平台上,用户将输入yes或no,将其作为布尔检查,并且在真实的Twilio服务器上将以“响应1”答复,而在错误的Twilio上,服务器将以“答复1”答复。回应2'?在Node.js中如何工作?所有的库都只是在谈论基本的发送和接收,而不是在根据收到的消息更改答复。

1 个答案:

答案 0 :(得分:0)

这里是Twilio开发人员的传播者。

当您收到有关Twilio号码的消息时,Twilio将对您提供的URL发出HTTP请求(一个Webhook)。该URL的末尾是决定如何响应的应用程序。 Webhook发送有关消息的所有详细信息,因此您可以使用它来做出响应。

例如,如果您使用Express来响应Webhook,则您的路由可能如下所示:

const MessagingResponse = require('twilio').twiml.MessagingResponse;

app.post('/messages', (req, res) => {
  let message = req.body.Body;
  message = message.trim().toLowerCase();
  const twiml = new MessagingResponse();
  if (message === 'yes') {
    twiml.message('You said "yes"! Fantastic!');
  else if (message === 'no') {
    twiml.message('You said "no". That's a shame.');
  } else {
    twiml.message('Please reply with a "yes" or a "no". Thank you.');
  }
  res.header('Content-Type', 'application/xml');
  res.send(twiml.toString());
});

在这种情况下,请求正文的Body属性是发送到您的Twilio号码的消息,您可以根据条件使用条件语句进行回复。

让我知道是否有帮助。