出了点问题,请从 BotFramework MessagingExtesion 重试

Posted

技术标签:

【中文标题】出了点问题,请从 BotFramework MessagingExtesion 重试【英文标题】:Something went wrong, please try again from BotFramework MessagingExtesion 【发布时间】:2020-06-15 18:01:39 【问题描述】:

我一直致力于使用 BotFramework v4 和 C#(Web API 库)为 MS Teams 连接到我们的应用程序实现机器人。我已在 azure 中注册了该机器人,并已成功使该机器人的聊天部分正常工作。

但是,当我从消息传递扩展程序中搜索项目时,我收到了上述 Something went wrong. Please try again. 错误我已经单步执行了代码,并且从服务器端代码看来我正在返回正确的响应,但是当我检查时来自 Teams Web 客户端的请求,响应为空。

从代码的 Bot 端,我将其实现如下

protected override async Task<MessagingExtensionResponse> OnTeamsMessagingExtensionQueryAsync(ITurnContext<IInvokeActivity> turnContext, MessagingExtensionQuery query, CancellationToken cancellationToken)

     var text = query?.Parameters?[0]?.Value as string ?? string.Empty;
     if (text == "true" && query?.Parameters?[0]?.Name == "initialRun")
          return new MessagingExtensionResponse  ComposeExtension = new MessagingExtensionResult  Type = "message", Text = "Please enter your search term above"  ;
     else 
          return new MessagingExtensionResponse  ComposeExtension = new MessagingExtensionResult  Type = "message", Text = "Not the initial run"  ;

和控制器

public BotController(IBotFrameworkHttpAdapter adapter, IBot bot)

     _adapter = adapter;
     _bot = bot;


public async Task Messages()

     await _adapter.ProcessAsync(ActionContext.Request, ActionContext.Request.CreateResponse(), _bot);

谁能指出我哪里出错了?

【问题讨论】:

【参考方案1】:

对于遇到相同问题的其他人,如果您正在处理来自 ASP.NET WebApi 的 BotFramework,则需要确保从消息端点正确返回响应。

即控制器中的以下例程

public async Task Messages()

     await _adapter.ProcessAsync(ActionContext.Request, ActionContext.Request.CreateResponse(), _bot);

需要变成

public async Task<HttpResponseMessage> Messages()

     var response = new HttpResponseMessage();
     await _adapter.ProcessAsync(ActionContext.Request, response, _bot);
     return response;

【讨论】:

以上是关于出了点问题,请从 BotFramework MessagingExtesion 重试的主要内容,如果未能解决你的问题,请参考以下文章

条纹结帐:出了点问题

github上传apk:出了点问题

404 Not Found:出了点问题[重复]

Asm 程序...出了点问题

出了点问题;缺少所有 ROC 指标值:

使用打字稿的反应表出了点问题