Bot在Microsoft Teams中的行为有所不同

时间:2019-03-27 11:36:38

标签: .net-core botframework

我已经将Bot部署到了Webchat,Skype和MS Teams。

OnTurnAsync方法中,我检查用户输入是否以bnr开头,然后调用特定方法。

if (turnContext.Activity.Text.ToLower().StartsWith("bnr"))
{
    string msg = RequestHandler.BnrCaller(turnContext.Activity.Text);
    await turnContext.SendActivityAsync(msg);
    return;
}

它在Skype和Webchat上可以正常工作,但在团队中却不能100%起作用,它有时才起作用。

[编辑]

我发现,如果我将输入复制到输入字段中将无法正常工作,但是在键入时,它可以正常工作!

2 个答案:

答案 0 :(得分:0)

来自团队的消息具有不同的结构。 消息文本以单词<at>...</at>开头。 您需要从中间件组件等开始删除它。 尝试通过Web浏览器中localhost:4040的NGROK查看传入的消息。

答案 1 :(得分:0)

因此,我是通过app-insights找出问题的。

我添加了一个middleware,它将请求正文记录到app-insights中,并且刚刚意识到,当我复制/粘贴类似“ Hello”的消息时,它将以以下形式登录app-insights:像这样的“ \ r \ n \ n \ rHello \ r \ n \ n \ r \ n”。当我键入它时,它将被记录为正确。 因此,我从请求中删除了这些符号,然后它起作用了!