我正在使用Node JS + twilio API从机器人获取whatsapp消息。 现在,我正在尝试获取用户发送的GPS位置,但是它没有出现在邮件正文中,而在SMS版本中却显示了。
//Import model
const WhatsappTwilio = require('../models/WhatsappModel');
exports.postWhatsapp = (req, res, next) => {
const Body = req.body.Body;
const From = req.body.From;
const To = req.body.To;
const whatsappTwilio = new WhatsappTwilio({
Body: Body,
From: From,
To: To
});
let responseMsg = '';
if (Body.includes('http://maps.google.com/maps')) {
responseMsg ='Location received';
} else {
responseMsg ='Error, could not get location';
}
//Response through twilio whatsapp
client.messages
.create({
body: responseMsg ,
from: 'whatsapp:' + To,
to: 'whatsapp:' + From
})
.then(message => console.log(message.sid));
};
这是处理whatsapp机器人的控制器,在SMS版本中有效,而在whatsapp版本中则无效。
答案 0 :(得分:0)
如果将“位置” 附加到Whatsapp消息中,它将出现在POST请求参数中,您可以像获取消息正文一样获得其属性。
>if (req.body.Latitude && req.body.Longitude) {
console.log('Whatsapp location received...');
console.log(req.body.Latitude + ', ' + req.body.Longitude);
}
也可能存在一个地址,您可以使用req.body.Address
来获取它。