gpt4 book ai didi

node.js - BotFrameworkAdapter 缺少事件类型 - 本地调试 Messenger

转载 作者:太空宇宙 更新时间:2023-11-04 01:27:36 27 4
gpt4 key购买 nike

我一直在使用机器人模拟器在本地工作。一切似乎都运转良好。现在是与 Messenger 集成的时候了,我也尝试在本地运行它。

通过 ngrok 从 Messenger 到我的本地机器人。

我基本上是想点击这个链接here .

当我从我的信使发送消息时,似乎需要一段时间才能到达我的端点(和断点),但当它到达时,我收到以下错误:

/api/messages - POST
index.ts:72
BotFrameworkAdapter.processActivity(): 400 ERROR - Error: BotFrameworkAdapter.parseRequest(): missing activity type.

UnhandledPromiseRejectionWarning: Error: Error: BotFrameworkAdapter.parseRequest(): missing activity type.
at BotFrameworkAdapter.processActivity (.../node_modules/botbuilder/src/botFrameworkAdapter.ts:608:19)

在我的 ngrok 控制台上,我可以看到 400 请求,有时也可以看到 502 与 facebook APP 日志错误相同。

这就是事情的发展方向:

// using restify
server.post('/api/messages', (req, res) => {
console.log('/api/messages - POST');
adapter.processActivity(req, res, async turnContext => {
await bot.run(turnContext);
});
});

基本上,该机器人根本不起作用,但我使用 botkit 适配器连接到 Facebook Messenger 进行了测试,除了 Prompt Choice、Carousel 和 HeroCards 等特殊消息之外,它似乎在大多数情况下几乎都能工作。基本上它只适用于简单的文本。

BotFrameworkAdapter 应该可以很好地翻译。知道发生了什么事吗?不确定我是否遗漏了一些东西。

最佳答案

好的。问题出在 Facebook 应用程序上的回调链接上。

由于我的代码上有一个验证 token (如下所示),我将 facebook 回调 URL 指向我的 ngrok 链接,并且验证工作正常。但看起来要在 azure 配置上进行调试,您必须使用 azure 提供给您的回调链接。您可以在 channel /facebook 下找到类似“https://facebook.botframework.com/api ...”的内容。

一旦我将 facebook 应用程序设置为使用 azure 回调链接,一切工作正常。

server.post('/api/messages', (req, res) => {
adapter.processActivity(req, res, async turnContext => {
await bot.run(turnContext);
});
});

server.get('/api/messages', (req, res) => {
const mode = req.query['hub.mode'];
const token = req.query['hub.verify_token'];
const challenge = req.query['hub.challenge'];

if (mode && token) {
if (mode === 'subscribe' && token === VERIFY_TOKEN) {
// Responds with the challenge token from the request
console.log('WEBHOOK_VERIFIED', challenge);
res.status(200);
res.end(challenge);
} else {
res.send(403);
}
}
});

关于node.js - BotFrameworkAdapter 缺少事件类型 - 本地调试 Messenger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56979665/

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