簡體   English   中英

OnTeamsMessagingExtensionCardButtonClickedAsync 響應更新自適應卡

[英]OnTeamsMessagingExtensionCardButtonClickedAsync response with updated adaptive card

我正在為用戶編寫一個消息擴展來發送自適應卡片。 我確實從查詢面板中的 MessagingExtensionResult 創建了自適應卡,並將點擊操作添加到 ThumbnailCard 以進行評級,但是當我單擊 Action.Submit 並引發 OnTeamsMessagingExtensionCardButtonClickedAsync 事件時,我無法發送響應或更新自適應卡以進行響應。 它總是顯示“無法訪問應用程序。請重試。”。

在此處輸入圖像描述

我可以獲取數據,但無法更新自適應卡以供用戶查看其選擇的操作。 有什么辦法 OnTeamsMessagingExtensionCardButtonClickedAsync 更新上升的自適應卡或向頻道發送更新。

請記住,我的應用程序不是機器人,因此它不完全能夠執行機器人事件或操作。

在您的卡片按鈕中,請添加操作類型為 Invoke

    var createCardData = ((JObject)action.Data).ToObject<CreateCardData>();

 var card = new HeroCard
{
Title = createCardData.Title,
Subtitle = createCardData.Subtitle,
Text = createCardData.Text,
Buttons = new List<CardAction>{new CardAction(){Title = "button1",Type = "invoke",Text = "this message is updated",Value = "this message is updated",} }
};

 var attachments = new List<MessagingExtensionAttachment>();
attachments.Add(new MessagingExtensionAttachment
{
Content = card,
ContentType = HeroCard.ContentType,
Preview = card.ToAttachment(),
});

 return new MessagingExtensionActionResponse
{
ComposeExtension = new MessagingExtensionResult
{
AttachmentLayout = "list",
Type = "result",
Attachments = attachments,
},
};

當您單擊卡片中的按鈕時,它將調用 OnTeamsMessagingExtensionCardButtonClickedAsync() 方法。 發送自適應卡片附件作為響應。

protected override async Task OnTeamsMessagingExtensionCardButtonClickedAsync(ITurnContext<IInvokeActivity> turnContext, JObject obj, CancellationToken cancellationToken)
{
var reply = MessageFactory.Attachment(CreateAdaptiveCardAttachment());
await turnContext.SendActivityAsync(reply, cancellationToken);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM