InlineCallback с подтверждением

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

Для InlineCallback кнопок можно сделать обертку с помощью которой пользователь должен будет сначала подтвердить действие и только после этого оно будет выполнено.

Создаете InlineCallback кнопку, после чего оборачиваете ее с помощью InlineCallbackWithConfirmation.

Пример кода:

/// <summary>
/// Команда отработает для бота с botId 0.
/// Команда отработает если пользователь напишет InlineConfirm.
/// </summary>
[ReplyMenuHandler("InlineConfirm")]
public static async Task InlineConfirm(IBotContext context)
{
    //Кнопка для которой нужно создать подтверждение.
    var exampleInlineCallback = new InlineCallback<EntityTCommand<long>>("Кнопка с подтвержением", CustomTHeaderTwo.ExampleThree, new EntityTCommand<long>(3, ActionWithLastMessage.Delete));
    //Обертка кнопки.
    var exampleWithConfirmation = new InlineCallbackWithConfirmation(exampleInlineCallback, ActionWithLastMessage.Delete);

    //Создание нового меню.
    List<IInlineContent> menu = new() { exampleWithConfirmation } ;
    var testMenu = MenuGenerator.InlineKeyboard(1, menu);
    var option = new OptionMessage();

    //Передача меню в настройки
    option.MenuInlineKeyboardMarkup = testMenu;
    string msg = "InlineCallback с подтверждением";
    //Отправка сообщение с меню
    await PRTelegramBot.Helpers.Message.Send(context, msg, option);
}

Если на кнопку "нет " не делать обработку, она по умолчанию удалит текущее сообщение.

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

Last updated