自适应卡片能否以模板方式用于自适应对话?

Can an adaptive card used in an adaptive dialog in a templated fashion?

我想在自适应对话框中通过 SendActivity return 自适应卡片。

执行此操作的代码如下所示:

new OnIntent("Help")
{
    Actions = new List<Dialog>()
    {
        new SendActivity("${Help-Root-Dialog()}")
    }
},

但是,我想在创建自适应卡的调用中包含一个参数。让我们说一个用户名(并因此向用户个性化消息。有没有办法做到这一点?

找到了几种方法:

  1. 在对话中调用卡片之前使用 SetProperty
new SetProperty()
{
    Property = "conversation.gameCreateDate",
    Value = DateTime.Now.ToString()
},

new SendActivity("${PlayGameCard()}"),
//In .lg file:
# PlayGameCard
[Activity
    Attachments = ${json(AdaptiveCard.Definition())}
]

//...
{
    "type": "TextBlock",
    "spacing": "None",
    "text": "Created ${conversation.gameCreateDate}",
    "isSubtle": true,
    "wrap": true
}
//...
  1. 在调用卡片时发送一个参数,就像在AdaptorWithErrorHandler中间件中所做的那样。
await turnContext.SendActivityAsync(ActivityFactory.FromObject( _templates.Evaluate("SomethingWentWrong", exception)));

我使用了选项 1,但似乎是选项 2。