gpt4 book ai didi

node.js - 如何在 Twilio Whatsapp API 中为 Azure Node.js 机器人配置端点 URL?

转载 作者:行者123 更新时间:2023-12-03 04:13:10 31 4
gpt4 key购买 nike

我使用 Bot Framework 创建了一个 Node.js 机器人并将其部署到 Azure 中。默认情况下,Azure 机器人 msbotnew1 的机器人消息传递端点为

https://msbotnew1.azurewebsites.net/api/messages

我能够使用网络聊天与机器人进行通信,而且我还能够从 Twilio 向我的手机号码发送外发 Whatsapp 消息。

用于设置 Azure 消息传递端点的代码:

var restify = require('restify');
var builder = require('botbuilder');
var botbuilder_azure = require("botbuilder-azure");
var request = require("request");
var twilio = require("twilio");
var fs = require('fs');

// Setup Restify Server
var server = restify.createServer();
server.listen(process.env.port || process.env.PORT || 3978, function () {
console.log('%s listening to %s', server.name, server.url);
});

// Create chat connector for communicating with the Bot Framework Service
var connector = new builder.ChatConnector({
appId: process.env.MicrosoftAppId,
appPassword: process.env.MicrosoftAppPassword,
openIdMetadata: process.env.BotOpenIdMetadata
});

// Listen for messages from users
server.post('/api/messages', connector.listen());

从 Twilio 向手机号码发送外发 Whatsapp 消息的代码:

var twilio = require("twilio");

const accountSid = process.env.accountSid;
const authToken = process.env.authToken;
const client = require('twilio')(accountSid, authToken);

client.messages
.create({
body: 'Hello there!',
from: 'whatsapp:+14155238886',
to: process.env.whatsappToNumber
})
.then(message => console.log(message.sid))
.done();

但是对于传入消息,必须在此页面中设置入站端点 URL:

https://www.twilio.com/console/sms/whatsapp/sandbox

上页中传入端点设置如下:

收到消息时:https://msbotnew1.azurewebsites.net/api/messages

当从 Whatsapp 发送传入消息时,我在 Bot 应用输出中收到以下错误:

ERROR: ChatConnector: receive - invalid request data received.

我尝试了各种无效的端点 URL 组合,例如 https://msbotnew1.azurewebsites.net/smshttps://msbotnew1.azurewebsites。网络/api/消息/短信https://msbotnew1.azurewebsites.net/api/sms

如何获取正确的端点 URL,以使用 Twilio 将 Whatsapp 手机的传入消息发送到 Azure node.js 机器人?

最佳答案

不幸的是,由于 Twilio 尚未完全开发其 Whatapps channel ,因此您无法将 Whatapps 连接到正确将消息路由到 Microsoft BotFramework 的 TwiML 应用程序。不过,Microsoft BotFramework 目前正在努力将 Whatsapp 添加为官方 channel ,这意味着您无需通过 Twilio 即可添加该 channel 。 Whatsapp 功能请求正在通过此 GitHub Issue 进行跟踪。

如果您等不及 Microsoft 将 Whatsapp 添加为 channel ,我建议使用 Twilio Node Package 和 DirectLine将消息从 Whatsapp 路由到您的机器人。

有关如何为 BotFramework 配置 Twilio 的更多详细信息,请查看此分步说明 guide在文档中。

希望这有帮助!

关于node.js - 如何在 Twilio Whatsapp API 中为 Azure Node.js 机器人配置端点 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55354421/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com