【问题标题】:Can I prompt the user with carousels instead of buttons in the Bot Framework?我可以在 Bot Framework 中使用轮播而不是按钮来提示用户吗?
【发布时间】:2017-03-06 12:01:24
【问题描述】:

我想知道是否可以使用带有轮播而不是按钮的 PromptDialog。

例如,如果我想提示用户选择,我可以这样做:

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 的行为,但是用轮播来显示选项,而不仅仅是按钮 这可能吗?

【问题讨论】:

    标签: c# bots botframework


    【解决方案1】:

    您可能需要将您的 PromptStyler 提供给 PromptChoice 的 PromptOptions

    PromptStyler 负责将适当的 PromptStyle 应用于选项。

    这是您必须探索的东西,看看它是否能满足您的所有需求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-02-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多