node.js - 如何使用 Node.js 在 Twilio 中更改从客户端发送的基于消息的消息的回复?
问题描述
我正在尝试创建一个 SMS 对话平台,用户可以在其中输入是或否,这将作为布尔检查,在真正的 Twilio 服务器上将回复“响应 1”,在错误的 Twilio 上,服务器将回复“响应 2” ? 这将如何在 Node.js 中工作?所有的库都只讨论基本的发送和接收,而不是根据收到的消息更改回复。
解决方案
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 号码的消息,您可以根据它所说的使用条件来回复。
让我知道这是否有帮助。
推荐阅读
- android - WebView 未启动 javascript
- javascript - Spring-boot删除javascript确认消息
- python - 在异常期间生成 KeyError: 'Id'
- python - Python 通过使用 python 在 2 个 DataFrames 中设置条件( Ranges )来合并键
- angular - FormArray 返回为 FormControl 而不是 FormArray
- mongodb - pipe.all 不适用于过滤器中的“(”等特殊字符
- dolphindb - 如何将日期和时间合成为时间戳类型?
- javascript - 有没有办法为上下文菜单项定义自己的上下文(谷歌浏览器扩展)
- javascript - 如何将带有日期的 JSON 文件加载到 Google 图表
- javascript - Javascript - 替换模式但保留字母