Поделиться через


Использование кнопки для ввода данных

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

Кнопки улучшают взаимодействие с беседами, позволяя пользователю ответить на вопрос или выбрать нужную кнопку, а не вводить ответ с помощью клавиатуры. В отличие от кнопок, которые отображаются в расширенных карточках (которые остаются видимыми и доступными пользователю даже после выбора), кнопки, которые отображаются в области предлагаемых действий, будут исчезать после того, как пользователь сделает выбор. Это предотвращает выбор устаревших кнопок в беседе и упрощает разработку бота, так как не нужно учитывать этот сценарий.

Примечание.

Пакеты SDK для JavaScript, C# и Python для Bot Framework по-прежнему будут поддерживаться, однако пакет SDK java отменяется с окончательной долгосрочной поддержкой, заканчивающейся в ноябре 2023 года.

Существующие боты, созданные с помощью пакета SDK для Java, будут продолжать функционировать.

Для создания нового бота рекомендуется использовать Microsoft Copilot Studio и ознакомиться с выбором подходящего решения copilot.

Дополнительные сведения см. в статье "Будущее создания бота".

Предложение действий с использованием кнопки

Функция предлагаемых действий позволяет боту представлять кнопки. Вы можете создать список предлагаемых действий (также известных как быстрые ответы), которые будут отображаться пользователю для одного поворота беседы.

Ниже приведен пример из примера предлагаемых действий .

// Creates and sends an activity with suggested actions to the user. When the user
// clicks one of the buttons the text value from the "CardAction" will be
// displayed in the channel just as if the user entered the text. There are multiple
// "ActionTypes" that may be used for different situations.
private static async Task SendSuggestedActionsAsync(ITurnContext turnContext, CancellationToken cancellationToken)
{
    var reply = MessageFactory.Text("What is your favorite color?");

    reply.SuggestedActions = new SuggestedActions()
    {
        Actions = new List<CardAction>()
        {
            new CardAction() { Title = "Red", Type = ActionTypes.ImBack, Value = "Red", Image = "https://via.placeholder.com/20/FF0000?text=R", ImageAltText = "R" },
            new CardAction() { Title = "Yellow", Type = ActionTypes.ImBack, Value = "Yellow", Image = "https://via.placeholder.com/20/FFFF00?text=Y", ImageAltText = "Y" },
            new CardAction() { Title = "Blue", Type = ActionTypes.ImBack, Value = "Blue", Image = "https://via.placeholder.com/20/0000FF?text=B", ImageAltText = "B" },
        },
    };
    await turnContext.SendActivityAsync(reply, cancellationToken);
}

Дополнительные ресурсы

Полный исходный код для примера предлагаемых действий можно получить в C#, JavaScript, Java и Python.

Следующие шаги