首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在用户单击代码后,如何处理Action.Submit (TeamsToolkit C# Bot)

在用户单击代码后,如何处理Action.Submit (TeamsToolkit C# Bot)
EN

Stack Overflow用户
提问于 2022-09-26 12:52:20
回答 1查看 58关注 0票数 0

我从Hello (ICommandHandler)开始,修改了它

现在,我尝试处理来自自适应卡的响应。

已经签出了https://learn.microsoft.com/en-us/microsoftteams/platform/bots/bot-basics?tabs=csharp

我还是不明白-我应该在哪里抓住提交行动?

自适应卡

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-09-28 09:59:17

由于您提到您使用了Toolkit C#,所以我假设您使用的是Visual 的 Toolkit。

当前的Toolkit及其SDK不支持Adaptive操作处理。因此,您需要直接使用Bot编写自己的ActivityHandler来处理卡片操作。

代码语言:javascript
复制
public class TeamsBot : ActivityHandler
{
    protected override async Task<InvokeResponse> OnInvokeActivityAsync(ITurnContext<IInvokeActivity> turnContext, CancellationToken cancellationToken)
    {
        // Handle card action
        if (turnContext.Activity.Name == "adaptiveCard/action")
        {
            // Handle your action response
            var cardJson = await File.ReadAllTextAsync("Resources/ActionResponseCard.json", cancellationToken).ConfigureAwait(false);
            var response = JObject.Parse(cardJson);
            var adaptiveCardResponse = new AdaptiveCardInvokeResponse()
            {
                StatusCode = 200,
                Type = "application/vnd.microsoft.card.adaptive",
                Value = response
            };

            return CreateInvokeResponse(adaptiveCardResponse);
        }

        return CreateInvokeResponse(null);
    }
}

您还需要使用Action.Execute而不是Action.Submit,后者是较新的自适应卡的通用操作。它是一个跨平台的统一行动模型。

还可以看到这个GitHub问题来了解更多信息。

您可以在团队示例回购中查看这个更完整的示例。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73854449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档