Задать вопрос
@nikolasdreams

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

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

Примерно как на фотографии:
64343a96c5cdb549664392.png

А вот сам 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);
  • Вопрос задан
  • 285 просмотров
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
KKOOLL
@KKOOLL
full stack-developer
Не понимаю, зачем себя мучать и писать на С# бота, но отвечу так. Если тебе нужно поменять текст сообщения, то используй editMessageText.

Если нужно поменять только кнопки, используй editMessageReplyMarkup.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы