[英]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.