node.js - Microsoft bot 未从 Firebase 云功能做出响应

标签 node.js firebase google-cloud-functions botframework microsoft-teams

我正在使用 ms bot 框架并创建了一个新的机器人。并在 google firebase 功能上部署了机器人连接器部分。但下面的代码没有反应。下面是代码:

const builder = require('botbuilder');
const teams = require('botbuilder-teams');


import * as util from 'util';
const restify = require('restify');


let connector = new teams.TeamsChatConnector({
    appId: 'my app id',
    appPassword: 'my app secret'
});

var server = restify.createServer(); 
server.listen(80, function () {    
  console.log('%s listening to %s', server.name, util.inspect(server.address())); 
});   

server.post('/api/messages', connector.listen());


new builder.UniversalBot(connector, function (session:any) {
    console.log("inside bot got something dude:::::" + session.message.text);

});

机器人设置中的端点配置为:


https://us-central1-xxxx.cloudfunctions.net/api/messages

预期行为:当我使用机器人测试器向机器人发送消息时,我应该能够在 Firebase 函数日志中看到控制台消息“内部机器人得到了一些东西:::::”。

但是,它从未被调用,所以我不确定这里缺少什么。

如果您想知道为什么我们使用 google firebase 函数而不是 azure,那么答案是我们使用 firebase DB 并且我们的机器人响应需要进入相同的 firedb。此外,我们不必仅仅为了运行简单的 Node 基础代码而支付/订阅一个云。

最佳答案

不确定这是否是问题所在,但我的所有 Firebase 函数都是使用该格式调用的

https://us-central1-name_of_app.cloudfunctions.net/name_of_function

而您使用格式调用它

https://us-central1-name_of_app.cloudfunctions.net/api/name_of_function

(添加了 /api/),这使得您看起来像是在调用另一个网站而不是实际的函数。

顺便说一下,您可以在 Firebase Functions 主页面中找到托管您的函数的 URL。

希望有帮助!

关于node.js - Microsoft bot 未从 Firebase 云功能做出响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57446390/

相关文章:

javascript - 向终端提示添加颜色会导致出现大的空白

node.js - 为什么 jasmine-node mongoose 测试没有按预期等待?

firebase - 基于设置为对象的文档字段内的 bool 值进行查询

android - Flutter & Firestore : app. INotificationSideChannel$Stub$Proxy 错误

javascript - Firebase Realtime Database 和 Cloud Functions——基于数据节点的递增计数器

windows-7 - Windows安装Nodejs出错

javascript - MQTT 实时 Feed 到 Node JS 中的 html 页面

android - 为什么当应用程序处于后台时声音不响(Android应用程序中的Firebase推送通知)?

javascript - 为什么 firebase 函数 onCall 不部署?

node.js - 适用于 Firebase 的 ESOCKETTIMEDOUT 云函数