提示未显示在 Microsoft Teams 集成机器人中

Prompts not showing in in microsoft Teams integrated bot

我使用 QnaMaker.ai 服务创建了机器人,Microsoft azure services.It 可以很好地与网络聊天 channel.Now 我将它与 Microsoft Team 频道集成,这就是我遇到问题的地方。 在网络聊天频道中工作的提示在 Teams 频道中的工作方式不同。 就像问题一样,我在微软团队中向 select.But 展示了 4 个选项,他们是网络聊天频道中的机器人 和团队中的机器人

您要显示建议的操作吗? Microsoft Teams 不支持建议的操作。如果您希望按钮出现在 Teams 机器人消息中,请尝试使用 cards

您可以在 Teams 中使用 ChoiceFactory.toChoices,它会起作用。我更喜欢这种方法,因为它很简单(您只需要将选项数组作为字符串)并且有效,但您也可以使用 ChoiceFactory.forChannel,它会自动格式化任何频道的选项。这是我在 Teams 中使用的一个机器人的示例,其中按钮显示正常。这是 nodejs,但相同的 class 将在 C# 中工作。

        FOCUS_AREAS = ['Chatbots','RPA','Blockchain','AR/VR','AI & ML'];
        return await step.prompt(FOCUS_AREA_PROMPT, {
            prompt: 'Which focus area is this for?',
            choices: ChoiceFactory.toChoices(FOCUS_AREAS)
        });

来自微软的参考:https://docs.microsoft.com/en-us/javascript/api/botbuilder-dialogs/choicefactory?view=botbuilder-ts-latest

例子: 这是上面代码的输出。总长度太长,无法在 Teams 频道中呈现为按钮,因此已自动切换为编号列表。

下面使用完全相同的 ChoiceFactory.toChoices 实现,只是选项较少,因此呈现为按钮而不是编号列表。