MenuGenerator
Reply кнопки и меню
/// <summary>
/// Генерирует reply меню для бота
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="menu">Коллекция меню</param>
/// <param name="resizeKeyboard">Изменяет размер по вертикали</param>
/// <param name="mainMenu">Если значение не пустое добавляет пункт в самый конец меню</param>
/// <returns>Готовое меню</returns>
public static ReplyKeyboardMarkup ReplyKeyboard(int maxColumn, List<string> menu, bool resizeKeyboard = true, string mainMenu = "")
/// <summary>
/// Генерирует reply меню для бота
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="keyboardButtons">Коллекция кнопок</param>
/// <param name="resizeKeyboard">Изменяет размер по вертикали</param>
/// <param name="mainMenu">Если значение не пустое добавляет пункт в самый конец меню</param>
/// <returns>Готовое меню</returns>
public static ReplyKeyboardMarkup ReplyKeyboard(int maxColumn, List<KeyboardButton> keyboardButtons, bool resizeKeyboard = true, string mainMenu = "")
/// <summary>
/// Генерирует reply меню для бота
/// </summary>
/// <param name="buttons"></param>
/// <param name="resizeKeyboard">Изменяет размер по вертикали</param>
/// <param name="mainMenu">Если значение не пустое добавляет пункт в самый конец меню</param>
/// <returns>Готовое меню</returns>
public static ReplyKeyboardMarkup ReplyKeyboard(List<List<KeyboardButton>> buttons, bool resizeKeyboard = true, string mainMenu = "")
/// <summary>
/// Генерирует reply кнокпи для бота
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="menu"></param>
/// <param name="mainMenu">Если значение не пустое добавляет пункт в самый конец меню</param>
/// <returns>Коллекция кнопок</returns>
public static List<List<KeyboardButton>> ReplyButtons(int maxColumn, List<string> menu, string mainMenu = "")
/// <summary>
/// Генерирует reply кнокпи для бота
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="buttons">Кнокпки</param>
/// <param name="mainMenu">Если значение не пустое добавляет пункт в самый конец меню</param>
/// <returns>Коллекция кнопок</returns>
public static List<List<KeyboardButton>> ReplyButtons(int maxColumn, List<KeyboardButton> buttons, string mainMenu = "")
/// <summary>
/// Объединяет reply кнопки для бота
/// </summary>
/// <param name="buttonsOne">Первая лист кнопок</param>
/// <param name="buttonsTwo">Второй лист кнопок</param>
/// <returns>Коллекция кнопок</returns>
public static List<List<KeyboardButton>> ReplyButtons(List<List<KeyboardButton>> buttonsOne, List<List<KeyboardButton>> buttonsTwo)
Inline кнопки и меню
/// <summary>
/// Создает Inline меню
/// </summary>
/// <param name="buttons">Коллекция кнопок</param>
/// <returns> Inline меню для бота</returns>
public static InlineKeyboardMarkup InlineKeyboard(List<List<InlineKeyboardButton>> buttons)
/// <summary>
/// Создает Inline меню
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="menu">Коллекция кнопок</param>
/// <returns> Inline меню для бота</returns>
public static InlineKeyboardMarkup InlineKeyboard(int maxColumn, List<IInlineContent> menu)
/// <summary>
/// Создает коллекцию inline кнопок
/// </summary>
/// <param name="maxColumn">Максимальное количество столбцов</param>
/// <param name="menu">Коллекция меню</param>
/// <returns>Коллекция кнопок</returns>
public static List<List<InlineKeyboardButton>> InlineButtons(int maxColumn, List<IInlineContent> menu)
/// <summary>
/// Создает inline кнопку
/// </summary>
/// <param name="inlineData">Данные inline кнопки</param>
/// <returns>Inline кнопка</returns>
/// <exception cref="NotImplementedException"></exception>
public static InlineKeyboardButton GetInlineButton(IInlineContent inlineData)
/// <summary>
/// Создает одно inline меню из нескольких
/// </summary>
/// <param name="keyboards">Массив меню</param>
/// <returns> Inline меню для бота</returns>
public static InlineKeyboardMarkup UnitInlineKeyboard(params InlineKeyboardMarkup[] keyboards)
/// <summary>
/// Генерирует меню для постраничного вывода
/// </summary>
/// <param name="currentPage">Текущая страница</param>
/// <param name="pageCount">Всего страниц</param>
/// <param name="nextPageMarker">Маркер nextpage</param>
/// <param name="previousPageMarker">Маркер prevpage</param>
/// <param name="currentPageMarker">Маркер currentPage</param>
/// <param name="addMenu">Дополнительное меню с которым требуется объединить данные</param>
/// <returns>Постраничное inline menu</returns>
public static InlineKeyboardMarkup GetPageMenu(int currentPage, int pageCount, InlineKeyboardMarkup addMenu, Enum enumToInt, string nextPageMarker = "➡️", string previousPageMarker = "⬅️", string currentPageMarker = "")
/// <summary>
/// Генерирует меню для постраничного вывода
/// </summary>
/// <param name="currentPage">Текущая страница</param>
/// <param name="pageCount">Всего страниц</param>
/// <param name="nextPageMarker">Маркер nextpage</param>
/// <param name="previousPageMarker">Маркер prevpage</param>
/// <param name="button">Кнопка обработчик в центре</param>
/// <param name="addMenu">Дополнительное меню с которым требуется объединить данные</param>
/// <returns>Постраничное inline menu</returns>
public static InlineKeyboardMarkup GetPageMenu(int currentPage, int pageCount, InlineKeyboardMarkup addMenu, Enum enumToInt, string nextPageMarker = "➡️", string previousPageMarker = "⬅️", IInlineContent button = null)
/// <summary>
/// Генерирует меню для постраничного вывода
/// </summary>
/// <param name="currentPage">Текущая страница</param>
/// <param name="pageCount">Всего страниц</param>
/// <param name="nextPageMarker">Маркер nextpage</param>
/// <param name="previousPageMarker">Маркер prevpage</param>
/// <param name="currentPageMarker">Маркер currentPage</param>
/// <returns>Постраничное inline menu</returns>
public static InlineKeyboardMarkup GetPageMenu(Enum enumToInt, int currentPage, int pageCount, string nextPageMarker = "➡️", string previousPageMarker = "⬅️", string currentPageMarker = "")
/// <summary>
/// Генерирует меню для постраничного вывода
/// </summary>
/// <param name="currentPage">Текущая страница</param>
/// <param name="pageCount">Всего страниц</param>
/// <param name="nextPageMarker">Маркер nextpage</param>
/// <param name="enumToInt">Заголовок команды</param>
/// <param name="previousPageMarker">Маркер prevpage</param>
/// <param name="button">Кнопка обработчик в центре</param>
/// <returns>Постраничное inline menu</returns>
public static InlineKeyboardMarkup GetPageMenu(int currentPage, int pageCount, Enum enumToInt, string nextPageMarker = "➡️", string previousPageMarker = "⬅️", IInlineContent button = null)
/// <summary>
/// Генерирует меню для постраничного вывода
/// </summary>
/// <param name="currentPage">Текущая страница</param>
/// <param name="pageCount">Всего страниц</param>
/// <param name="nextPageMarker">Маркер nextpage</param>
/// <param name="enumToInt">Заголовок команды</param>
/// <param name="previousPageMarker">Маркер prevpage</param>
/// <param name="customButtons">Кнопки обработчики</param>
/// <returns>Постраничное inline menu</returns>
public static InlineKeyboardMarkup GetPageMenu(int currentPage, int pageCount, Enum enumToInt, List<IInlineContent> customButtons, string nextPageMarker = "➡️", string previousPageMarker = "⬅️")
Last updated