0
我想知道是否有可能与旋转木马而不是按钮的PromptDialog。我可以使用传送带而不是Bot框架中的按钮来提示用户吗?
例如,如果我想提示与选择的用户,我可以做这样的事情:
public virtual async Task MessageReceivedAsync(IDialogContext context, IAwaitable<IMessageActivity> result)
{
IEnumerable<string> options = new List<string>
{
"First Option",
"Second Option",
"Third Option",
"Fourth Option"
};
PromptDialog.Choice(context, AfterPromptDialogChoice, options, "Choose an option");
}
private async Task AfterPromptDialogChoice(IDialogContext context, IAwaitable<string> result)
{
string input = await result;
await context.PostAsync(input);
context.Wait(this.MessageReceivedAsync);
}
这里对我来说,关键是用户选择的选项后,我可以处理内部的选择AfterPromptDialogChoice方法。我想要的是用旋转木马提示用户,当他选择其中一个旋转木马项目时,我希望将流程重定向到委托方法,在那里我可以根据用户的选择执行一些操作。
我知道使用普通轮播我可以使用CardAction发回用户选择的选项,但是此选项的值(文本)将再次发送到机器人,并且不会与用户选择相关。我只是想要PromptDialog.Choice的行为,但是用旋转木马来显示选项,而不是只有按钮这可能吗?