首页 > 解决方案 > 如何使用 Node.js 在 Twilio 中更改从客户端发送的基于消息的消息的回复?

问题描述

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

标签: node.jsreactjstwiliochatbottwilio-programmable-chat

解决方案


Twilio 开发人员布道者在这里。

当您收到发送到您的 Twilio 号码的消息时,Twilio 会向您提供的 URL 发出 HTTP 请求(网络挂钩)。该 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 号码的消息,您可以根据它所说的使用条件来回复。

让我知道这是否有帮助。


推荐阅读