我已尝试将ImBack作为值字段中的动作类型,我正在获取文本。当我点击Hero卡时,我现在点击后显示代码中写入的值,问题是文本应作为方法中的值传递,以便在单击该方法后调用该方法。请提供解决方案。
public static IList<Attachment> GetCardsAttachments(IDialogContext context)
{
return new List<Attachment>()
{
GetHeroCard(
"NoSQL",
"Blazing fast, planet-scale NoSQL",
"NoSQL service for highly available, globally distributed apps—take full advantage of SQL and JavaScript over document and key-value data without the hassles of on-premises or virtual machine-based cloud database options.",
new CardImage(url: "https://docs.microsoft.com/en-us/bot-framework/media/how-it-works/architecture-resize.png"),
new CardAction(ActionTypes.ImBack, "Click here", value: "see the below options:")),
};
}
预期行为
从上面的代码中,我得到的按钮名称为&#34;点击此处&#34;点击它后,我的输入被给予机器人&#34;请参阅以下选项:&#34;,之后我想启动一个功能。 我希望将值传递给函数。所以我可以进一步处理它。 请告诉我如何使用CardAction的这个值。
答案 0 :(得分:0)
点击卡片按钮只会发送一条新消息,它会点击对话框中的MessageReceived
方法。要根据按钮消息执行不同的操作,您必须检测即将发送的消息是否为“请参阅以下选项:”,如果是,则使用PromptDialog
。
类似的东西:
var message = await activity;
if (message.Text.ToLower() = ""see the below options:")
{
}