我已经将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%起作用,它有时才起作用。
[编辑]
我发现,如果我将输入复制到输入字段中将无法正常工作,但是在键入时,它可以正常工作!
答案 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”。当我键入它时,它将被记录为正确。
因此,我从请求中删除了这些符号,然后它起作用了!