如何在表单对话框中接收附件?

2024-03-24

我目前有一个机器人对话框,它请求并接收用户的附件。我想将其转换为表单对话框,因为我认为这更适合(“请向我发送文档1”...直到文档N)。您能给我指出一个接收用户附件的表单对话框的示例吗?

我读到 FormFlow 现在支持附件:https://github.com/Microsoft/BotBuilder/pull/2870/commits/55c3d336a6cd63ee96561eeed9a905fb8c156a87#diff-db1cd0aff903bd4f06fadb81b6f33d86 https://github.com/Microsoft/BotBuilder/pull/2870/commits/55c3d336a6cd63ee96561eeed9a905fb8c156a87#diff-db1cd0aff903bd4f06fadb81b6f33d86

除了以下内容之外,我找不到任何示例:https://github.com/southworkscom/BotBuilder/blob/55c3d336a6cd63ee96561eeed9a905fb8c156a87/CSharp/Samples/Microsoft.Bot.Sample.FormFlowAttachmentsBot/ImagesForm.cs https://github.com/southworkscom/BotBuilder/blob/55c3d336a6cd63ee96561eeed9a905fb8c156a87/CSharp/Samples/Microsoft.Bot.Sample.FormFlowAttachmentsBot/ImagesForm.cs这个使用 AwaitableAttachment 对象。我不知道它从哪里来...

理想情况下,我想从用户那里接收一个列表,就像用户如何发送多个附件一样,我在普通对话框中,可以通过消息检索它。附件

列表不起作用,普通附件对象类型也不起作用,例如:

    [Prompt("Send me a copy of your **Document 1**.")]
    public Attachment Doc1;

    [Prompt("Send me a copy of your **Document 2**.")]
    public Attachment Doc2;

    ...

    private static IForm<MyForm> BuildMyForm()
    {
        OnCompletionAsyncDelegate<MyForm> completeForm = async (context, state) =>
        {
            //await context.PostAsync($"Completed.");
        };

        var form = CreateCustomForm<MyForm>()
                    .Message("Let's start!")
                   .Field(nameof(Doc1))
                   .Field(nameof(Doc2))
                 ...
                    .OnCompletion(completeForm)
                    .Build();

        return (IForm<MyForm>)form;
    }

您的做法是正确的:您发现的拉取请求已合并到developBotBuilder GitHub 项目的分支,这就是为什么你在中看不到它master发布。

你可以找到:

  • 使用您指出的拉取请求添加的附件机器人示例here https://github.com/Microsoft/BotBuilder/tree/develop/CSharp/Samples/Microsoft.Bot.Sample.FormFlowAttachmentsBot
  • AwaitableAttachment类是here https://github.com/Microsoft/BotBuilder/blob/develop/CSharp/Library/Microsoft.Bot.Builder/FormFlow/AwaitableAttachment.cs
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在表单对话框中接收附件? 的相关文章

随机推荐