我正在尝试向管理员电话号码发送提醒短信,并使用本地语言版本的STOP响应回复原始短信(我们已关闭此号码的自动回复)。
以下代码适用于向orignator发送回复 - 但是,它不会向我们想要的号码发送提醒短信(目前为+ 447824636xxx)。
我在帮助文档,StackOverflow或Google Twilio开发小组中找不到任何关于这在Twilio函数中如何工作的内容。
请告知如何使突出显示的代码正常工作。
exports.handler = function(context, event, callback) {
console.log ("Incoming SMS")
console.log (event.From)
console.log (event.Body)
if (event.Body == "STOP" || event.Body == "Stop" || event.Body == "stop") {
console.log ("Received a STOP message")
// ***** BELOW CODE DOES NOT SEND SMS ****
// Send a warning message to Chloe
let client = context.getTwilioClient()
let c = client.messages.create({
body: "We have a STOP message on Fresenius NO from ",
to: "+447824636xxx",
from: event.To
})
// ***** ABOVE CODE DOES NOT SEND ANYTHING *****
console.log ("Sent warning to Admin")
// Respond to the user/patient with STOP message in local language
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Du har nå meldt deg av MyFresubin og vil ikke motta flere meldinger fra dette nummeret.");
twiml.message.to = event.From
twiml.message.from = "+4759444xxx"
callback(null, twiml);
}
else {callback(null)}
}
答案 0 :(得分:2)
您的代码无法正常工作,因为您过早地调用了回调函数,并且在调用Twilio API完成之前将终止执行。
工作代码:
exports.handler = function (context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Du har nå meldt deg av MyFresubin og vil ikke motta flere ....");
let client = context.getTwilioClient();
// Send a warning message to Chloe
client.messages
.create({
to: '+447824636xxx',
from: event.To,
body: "We have a STOP message on Fresenius NO from " + event.From
})
.then(message => {
console.log(message.sid);
// Respond to the user/patient with STOP message in local language
callback(null, twiml);
});
}
当然,您可以随意添加原始代码中的STOP
条件语句。