在Microsoft Bot Framework中发送Twilio SMS

时间:2017-07-25 02:50:47

标签: botframework

我很难让机器人发送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; }

再一次,我的直觉告诉我,我不知不觉地以某种方式创建地址。

1 个答案:

答案 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