在关注MS Teams机器人示例时,我无法从Teams中获取任何消息以访问我的托管应用程序。
在MS Teams sample之后-这是重现问题的最佳方法。
我运行了项目,并获得了https://kindly-ash.glitch.me/api/messages
的端点。
将此注册到bot framework site-与Webchat和MS Teams一起。
从MS Teams发送消息时,没有任何请求到达监听Node应用程序。
使用bot framework site's webchat发送消息时,请求确实到达了侦听节点应用程序,但出错了。
(node:648) UnhandledPromiseRejectionWarning: Error: Request to 'https://state.botframework.com/v3/botstate/webchat/conversations/873ec470c2fe4cf687c186d31c2b17f4/users/873ec470c2fe4cf687c186d31c2b17f4' failed: [405] Method Not Allowed
at Request._callback (/app/node_modules/botbuilder/lib/bots/ChatConnector.js:523:46)
at Request.self.callback (/app/node_modules/request/request.js:188:22)
at emitTwo (events.js:126:13)
at Request.emit (events.js:214:7)
at Request.<anonymous> (/app/node_modules/request/request.js:1171:10)
at emitOne (events.js:116:13)
at Request.emit (events.js:211:7)
at IncomingMessage.<anonymous> (/app/node_modules/request/request.js:1091:12)
at Object.onceWrapper (events.js:313:30)
at emitNone (events.js:111:20)
(node:648) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:648) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
除上述内容外,我还在本地尝试了这些示例并通过ngrok进行了公开,还尝试了在自己的服务器上托管。我也尝试过删除和重新创建漫游器,删除并重新添加频道。
直接通过Bot Framework仿真器进行测试时,始终会收到该消息。
我无法确定MS Teams是否没有发出请求,或者Bot Framework网站有问题。谁能告诉我在设置工作中我可能会缺少的地方吗?
答案 0 :(得分:2)
再试一次-我们认为我们已经解决了问题。
答案 1 :(得分:1)
之所以发生这种情况,是因为Bot State Service已过时。为了进行测试,您可以使用In Memory Storage。 请更新构造函数中的 src / Bot.ts 中的代码,以如下方式设置“内存中存储”:
constructor(private _connector: teams.TeamsChatConnector,private botSettings: any,) {
super(_connector, botSettings);
this.set("persistConversationData", true);
var inMemoryStorage = new builder.MemoryBotStorage();
this.set('storage', inMemoryStorage);
请查看有关如何Manage state data的文档。要进行生产,请使用Custom Data Storage。