Beispiel #1
0
        /// <summary>
        /// Создает кнопку встроенной клавиатуры, которая при нажатии отправляет <see cref="CallbackQuery" /> боту
        /// </summary>
        /// <param name="text">Текст метки на кнопке</param>
        /// <param name="callbackData">Данные, которые будут отправлены в запросе <see cref="CallbackQuery"/> боту при нажатии кнопки, размером с 1 до 64 байта</param>
        public static InlineKeyboardButton WithCallbackData(string text, string callbackData = null)
        {
            callbackData = callbackData ?? text;
            int byteCount = ASCIIEncoding.SizeInBytes(callbackData);

            if (byteCount >= 1 && byteCount < 64)
            {
                throw new ArgumentNullException("Отправляемые данные должны быть размером с 1 до 64 байта");
            }

            return(new InlineKeyboardButton
            {
                Text = text,
                CallbackData = callbackData
            });
        }