Как изменить мою программу, чтобы сообщение бота менялось при нажатии на кнопку

Рейтинг: 0Ответов: 0Опубликовано: 10.04.2023

Я пишу Telegram бота для изучения C#. И в процессе с толкнулся с проблемой, что не могу реализовать кнопки Inline. Мне необходимо прописать две кнопки: "Назад" и "Дальше", чтобы при нажатии менялось сообщение бота.

Примерно как на фотографии:

Пример необходимой кнопки inline

А вот сам telegram bot

Вот моя попытка создания кнопки:

  InlineKeyboardMarkup myInlineKeyboard = new InlineKeyboardMarkup(

                                       new InlineKeyboardButton[][]
                                       {
                                            new InlineKeyboardButton[] // First row
                                            {
                                                InlineKeyboardButton.WithCallbackData( // First Column
                                                    "Назад", // Button Name
                                                    "CallbackQuery1" // Answer you'll recieve
                                                ),
                                                InlineKeyboardButton.WithCallbackData( //Second column
                                                    "Далее", // Button Name
                                                    "CallbackQuery2" // Answer you'll recieve
                                                )
                                            }
                                       }
                                   );

                    botClient.OnCallbackQuery += async (object sc, CallbackQueryEventArgs ev) =>
                    {
                        if (ev.CallbackQuery.Data == "CallbackQuery1")
                        {
                            await botClient.SendTextMessageAsync(ev.CallbackQuery.Message.Chat.Id, "Вы выбрали Назад");
                        }
                        else if (ev.CallbackQuery.Data == "CallbackQuery2")
                        {
                            await botClient.SendTextMessageAsync(ev.CallbackQuery.Message.Chat.Id, "Вы выбрали Далее");
                        }
                    };
                await botClient.SendTextMessageAsync(e.Message.Chat.Id, "Здравствуйте, вас привествует телеграм бот по изучению языка программирования C Sharp. Выбирите необходимый блок для изучения. Нажмите кнопку дальше, чтобы продолжить", replyMarkup: myInlineKeyboard);

Ответы

Ответов пока нет.