Inline Keyboard для telegram бота?

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

Как увеличить количество смены информации. Я не знаю как поменять программу, чтобы можно было перелистнуть больше чем на "информация 3" и чтобы при нажатии кнопки назад, включался предыдущий текст

Программа

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using Telegram.Bot;
using Telegram.Bot.Args;
using Telegram.Bot.Types;
using Telegram.Bot.Types.Enums;
using Telegram.Bot.Types.ReplyMarkups;

namespace Kursovay
{
    class Program
    {
    
       
        public static Update update;
        private static string token = "6076917754:AAGOVbcsiACsncM23Fknvr3u67JkmAfpNhE";
        private static TelegramBotClient botClient;
        static void Main(string[] args)
        {
           
            botClient = new TelegramBotClient(token);
            botClient.OnMessage += Bot_OnMessage;
            var me = botClient.GetMeAsync().Result;
            Console.Title = me.Username;
            botClient.OnMessageEdited += Bot_OnMessage;
            botClient.StartReceiving(Array.Empty<UpdateType>());
            Console.WriteLine($"Start listening for @{me.Username}");
            Console.ReadLine();
            botClient.StopReceiving();
        }


        private static async void Bot_OnMessage(object sender, MessageEventArgs e)
        {
            if (e.Message.Type == MessageType.Text)
            {
                if (e.Message.Text == "/start")
                {
                    await botClient.SendTextMessageAsync(e.Message.Chat.Id, "Здравствуйте, вас привествует телеграм бот по изучению языка программирования C Sharp. Выбирите необходимый блок для изучения:" + "\nСначала /first" + "\nСинтаксис /syntax" + "\nТипы данных и использование /data_types" + "\nУправляющие конструкции  /Control_structures" + "\nМассивы и строки /arrays_and_strings" + "\nФункции и процедуры /functions_and_procedures" + "\nФайлы /files");
                }
                    if (e.Message.Text == "/syntax")
                    {


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

                        // Отправляем сообщение с кнопками inline
                        await botClient.SendTextMessageAsync(e.Message.Chat.Id, "информация1", replyMarkup: myInlineKeyboard);

                        botClient.OnCallbackQuery += async (object sc, CallbackQueryEventArgs ev) =>
                        {
                            if (ev.CallbackQuery.Data == "CallbackQuery1")
                            {
                                // Изменяем текст сообщения на "Текст сообщения - Назад"
                                await botClient.EditMessageTextAsync(
                                        chatId: ev.CallbackQuery.Message.Chat.Id,
                                        messageId: ev.CallbackQuery.Message.MessageId,
                                        text: "информация2",
                                        replyMarkup: myInlineKeyboard);
                            }
                            else if (ev.CallbackQuery.Data == "CallbackQuery2")
                            {
                                // Изменяем текст сообщения на "Текст сообщения - Далее"
                                await botClient.EditMessageTextAsync(
                                        chatId: ev.CallbackQuery.Message.Chat.Id,
                                        messageId: ev.CallbackQuery.Message.MessageId,
                                        text: "информация3",
                                        replyMarkup: myInlineKeyboard);
                            }
                        };

                        if (e.Message.Text == "/data_types") { }
                        if (e.Message.Text == "/control_structures") { }
                        if (e.Message.Text == "/arrays_and_strings") { }
                        if (e.Message.Text == "/functions_and_procedures") { }
                        if (e.Message.Text == "/control_structures") { }
                        if (e.Message.Text == "/files") { }
                    }
                
            }
        }
    }
}

Ответы

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