Я работаю в своем боте локально, используя эмулятор бота. Вроде все нормально работает. Пришло время интегрироваться с Messenger, и я тоже пытаюсь запустить его локально.
От Messenger к моему локальному боту через ngrok.
Я в основном пытаюсь перейти по этой ссылке здесь < / а>.
Когда я отправляю сообщение из своего мессенджера, кажется, что до моей конечной точки (и точки останова) требуется некоторое время, но когда это происходит, я получаю следующую ошибку:
/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.
Вот точка, в которой это происходит:
// using restify
server.post('/api/messages', (req, res) => {
console.log('/api/messages - POST');
adapter.processActivity(req, res, async turnContext => {
await bot.run(turnContext);
});
});
По сути, бот вообще не работает, но я провел тест с использованием адаптера боткита для подключения к мессенджеру facebook, и, похоже, он почти работает в большинстве случаев, за исключением специальных сообщений, таких как Prompt Choice, Carousel и HeroCards. В основном это работает только с простым текстом.
BotFrameworkAdapter должен нормально переводить. Есть идеи о том, что происходит? Не уверен, что я что-то упускаю.