Вы можете использовать ChoiceFactory.toChoices в командах, и это будет работать. Я предпочитаю этот метод, потому что он прост (все, что вам нужно, это массив вариантов выбора в виде строк), и он работает, но вы также можете использовать ChoiceFactory.forChannel, который должен автоматически форматировать варианты для ЛЮБОГО канала. Вот пример одного из ботов, которых я использую в командах, где кнопки отображаются нормально. Это nodejs, но тот же класс будет работать в 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)
});
Справка от Microsoft: https://docs.microsoft.com/en-us/javascript/api/botbuilder-dialogs/choicefactory?view=botbuilder-ts-latest
Примеры: Вот вывод из кода выше. Общая длина слишком велика для отображения в виде кнопок в канале Команды, поэтому она автоматически переключается на нумерованный список.
В приведенном ниже примере используется то же самоеточная реализация ChoiceFactory.toChoices, только с меньшим количеством опций, поэтому она отображается в виде кнопок вместо нумерованного списка.