我很难让机器人发送Twilio消息。我一直得到400个不好的请求我在这里看到msg对象为JSON ---我认为我为Twilio创建地址的方式有问题吗?我也已经通过管理工具
设置了Twilio频道短信== {"数据":{"输入":"消息","代理":" botbuilder&# 34;,"文字":"测试消息","地址":{" channelId":" sms", "会话" {" ID":" 4i4hlandl06ha5g3"" isGroup":假}"的serviceUrl":& #34; https://sms.botframework.com"" useAuth":真}"源":" SMS"}} sendMsg - 发送0条消息的Session.sendBatch()
更多细节。我使用Node.js,在控制台中没有出现错误,上面看到的是来自sms
的JSON版本:
bot.dialog('sendMsg', function(session, context) {
var address = addresses.twilioAddress(session);
console.log(JSON.stringify(address));
var sms = new builder.Message().text('test msg').address(address);
console.log("SMS == " + JSON.stringify(sms));
bot.send(sms);
}).triggerAction({ matches: 'Communication.SendMessage' })
}
我目前的想法是,我正在为Twilio创建错误的地址。这是什么样的:
module.exports = {
twilioAddress: function(session) {
console.log('made it to twilio Address');
var address = init("twilio test", session, false, 'https://sms.botframework.com', 'sms');
return address;
}
}
function init(name, session, isGroup, serviceUrl, channelId) {
var address = {
channelId: channelId,
conversation: { id: session.message.address.id, isGroup: !!isGroup },
serviceUrl: serviceUrl,
useAuth: true
};
console.log(JSON.stringify(address));
return address;
}
再一次,我的直觉告诉我,我不知不觉地以某种方式创建地址。
答案 0 :(得分:0)
使用session.send("Message content here");
代替bot.send()
。
当您使用session.send()
时,它会为您处理所有地址内容。
有关详细信息,请参阅: https://docs.microsoft.com/en-us/bot-framework/nodejs/bot-builder-nodejs-use-default-message-handler