Встроенная клавиатура Telegram — отличная функция с множеством разные варианты использования.
Встроенные кнопки добавляются в виде списка таких элементов:
inline_keyboard = [[InlineKeyboardButton(text=»button», callback_data=»button»), InlineKeyboardButton(text=»reset»,callback_data=»reset»)]] inline_keyboard_markup = InlineKeyboardMarkup(inline_keyboard) update.message.reply_text(«hi», reply_markup=inline_keyboard_markup)
Приведенный выше код добавляет две кнопки, каждая с половиной ширины экрана чата.
Я знаю, что для обычной кнопки клавиатуры есть параметр resize_keyboard , который как-то можно использовать.
У меня вопрос: есть ли способ изменить размер встроенных кнопок ? например, чтобы сделать его полной шириной или четвертью ширины.
S. Ali Mirferdos 11 Сен 2017 в 07:05
2 ответа
Лучший ответ
К сожалению, пока вы не можете этого сделать. 🙁
Sean 12 Сен 2017 в 11:03
Вы можете настроить ширину кнопок, изменив их количество в одной строке.
Как изменить шрифт в Телеграмме — Как изменит размер шрифта в Телеграм бот
$inline_keyboard = array(‘inline_keyboard’ => array( array( array( ‘text’ => «xF0x9Fx93x9D Заказы», ‘callback_data’ => ‘/orders’ ), array( ‘text’ => «xF0x9Fx93x8A Статистика», ‘callback_data’ => ‘/stats’ ), array( ‘text’ => «xF0x9Fx92xB0 Баланс», ‘callback_data’ => ‘/balance’ ) ), array( array( ‘text’ => «xF0x9Fx92xB0 Баланс», ‘callback_data’ => ‘/balance’ ), array( ‘text’ => «xF0x9Fx93x8B Счета», ‘callback_data’ => ‘/bills’ ) ), array( array( ‘text’ => «xF0x9Fx93x9D Заказы», ‘callback_data’ => ‘/orders’ ) ), ), );
Источник: question-it.com
Telegram Bot- размер inline_keyboard
Подскажите как можно изменить размер inline_keyboard например 100% ширины экрана? Если слово длинное telegram добавляет троеточие и не очень презентабельно получается.
Отслеживать
5,920 3 3 золотых знака 22 22 серебряных знака 43 43 бронзовых знака
задан 27 янв 2017 в 16:08
11 1 1 серебряный знак 2 2 бронзовых знака
никак, единственный вариант — это сделать одну кнопку в ряду, тогда у неё будет максимально возможная ширина
31 янв 2017 в 5:30
6 мар в 9:59
4 ответа 4
Сортировка: Сброс на вариант по умолчанию
Приветствую. Размер кнопки меняется в зависимости от значения параметра row_width Вашей Inline-клавиатуры. Минимальное значение 1 (соответствует растяжению кнопки по длине текстового сообщения над оной), среднее значение 2 (делит место под текстовым сообщением пополам между двумя Inline-кнопками) и минимальное значение 3 (делит место под текстовым сообщением поровну между тремя Inline-кнопками). Примеры:
from telebot import types kb1 = Types.InlineKeyboardMarkup(row_width=1) # самая длинная кнопка kb2 = Types.InlineKeyboardMarkup(row_width=2) # деление пополам kb3 = Types.InlineKeyboardMarkup(row_width=3) # деление на три равных кнопки
Отслеживать
ответ дан 23 авг 2017 в 21:10
46 4 4 бронзовых знака
Если Вы используете инлайн клавиатуру(независимо от библиотеки) — ширина кнопок будет подстраиваться под текст отправленного сообщения с учетом row_width
Как увеличить шрифт в Telegram на компьютере, ноутбуке? Сделать масштаб Телеграм больше — ЛЕГКО ☑
Отслеживать
ответ дан 7 фев 2021 в 23:56
стоило опубликовать это как комментарий, а не ответ. чтобы вам стали доступны комментарии к чужим сообщениям, надо набрать пятьдесят баллов репутации — это всего пять голосов «за» любой ваш ответ или вопрос
8 фев 2021 в 0:00
8 фев 2021 в 11:37
8 фев 2021 в 11:54
8 фев 2021 в 12:06
Откуда вы все вытягиваете магическое значение row_width!? Я может слепой но в оф. документации даже нет такого параметра.
6 мар в 9:53
Есть один способ, не совсем корректный, но рабочий.
Краткое описание: Суть метода в создании N-го количества символов в одной из кнопок. Минус метода в том что вычислить автоматически ширину невозможно. Пользователю необходимо будет это сделать вручную. Потом на основании одного размера сделать функцию адаптивной клавиатуры. То есть, она будет высчитывать разницу в символах (основной текст) и корректировать количество пробелов для достижения наилучшего результата.
- Создаем файл config_user.json
$config_user = json_decode( file_get_contents($_SERVER[‘DOCUMENT_ROOT’] . ‘/botID/source/config_user.json’), true);
if ((!$config_user[$chat_id]) or ($input_key == ‘message’ and $config_user[$chat_id][‘editing’] === true)) < $config_user[$chat_id] = [ ‘keyboard_width’ =>0, ‘keyboard_caption’ => NULL, ‘remember’ => false, ‘editing’ => true ]; file_put_contents($_SERVER[‘DOCUMENT_ROOT’] . ‘/botID/source/config_user.json’, json_encode($config_user, JSON_UNESCAPED_UNICODE)); >
- Отправляем сообщение:
if ($config_user[$chat_id][‘editing’] === true) < $config_user[$chat_id] = [ ‘keyboard_width’ =>0, ‘keyboard_caption’ => NULL, ‘remember’ => false, ‘editing’ => true ]; file_put_contents($_SERVER[‘DOCUMENT_ROOT’] . ‘/botID/source/config_user.json’, json_encode($config_user, JSON_UNESCAPED_UNICODE)); TelegramAPI::sendMessage($text_control[‘message’][‘start’][‘edit_width’], TelegramKeyboard::widthEdit()); > else TelegramAPI::sendMessage($text_control[‘message’][‘start’][‘default’], TelegramKeyboard::mainMenu());
- Обработка нажатой кнопки:
/* Если отправлено продолжить */ if ($callback[‘type’] == ‘save_width’) < $callback[‘variation’]— >is_integer($callback[‘variation’]); $config_user[$chat_id] = [ ‘keyboard_width’ => $callback[‘variation’] + 1, ‘keyboard_caption’ => str_repeat(» «, $callback[‘variation’] + 1), ‘remember’ => false, ‘editing’ => false ]; file_put_contents($_SERVER[‘DOCUMENT_ROOT’] . ‘/botID/source/config_user.json’, json_encode($config_user, JSON_UNESCAPED_UNICODE)); TelegramAPI::editMessageText( $text_control[‘start’][‘complete’], TelegramKeyboard::mainMenu()); > else < /* Проверка типа нажатой кнопки */ $callback[‘variation’] = match ($callback[‘variation’]) < ‘decrease’ =>$config_user[$chat_id][‘keyboard_width’] — 1, #Добавляем 1 символ к ширине ‘increase’ => $config_user[$chat_id][‘keyboard_width’] + 1, #Убираем 1 символ к ширине >; if ($callback[‘variation’] > 42) #Если $callback вышел больше 42, то устанавливаем значение 42 $callback[‘variation’] = 42; elseif ($callback[‘variation’] < 0) #Если $callback вышел меньше 0, то устанавливаем значение 0 $callback[‘variation’] = 0; /* Передаём значения в массив */ #Генерируем N-количество пустых символов $config_user[$chat_id][‘keyboard_caption’] = str_repeat(» «, $callback[‘variation’]); $config_user[$chat_id][‘keyboard_width’] = $callback[‘variation’]; /* Сохраняем полученные данные в config_user.json */ file_put_contents($_SERVER[‘DOCUMENT_ROOT’] . ‘/botID/source/config_user.json’, json_encode($config_user, JSON_UNESCAPED_UNICODE)); /* Передача значений */ TelegramKeyboard::$width_caption = $config_user[$chat_id][‘keyboard_caption’]; TelegramKeyboard::$width_value = $config_user[$chat_id][‘keyboard_width’]; /* Редактировать ранее отправленное сообщение */ TelegramAPI::editMessageText( $text_control[‘start’][‘edit_width’], TelegramKeyboard::widthEdit()); >
Минимальный размер:
+/- средний размер:
Максимальный размер:
PS. Не обращайте внимание на то что в коде кнопок меньше чем на скриншотах. Работоспособность от этого не меняется.
Источник: ru.stackoverflow.com
Как уменьшить масштаб в телеграмме
Мессенджер «Телеграмм» — популярное приложение, имеющее много неплохих фишек, привлекающих пользователей. Разработчики не побаловали людей выбором красивых шрифтов, но есть функции, которые помогут внести изменения в первоначальный текст.
Форматирование текста в Телеграмме: как можно выделить текст?
В программе есть несколько опций, которые позволят немного видоизменить текст. К ним относятся следующие:
- курсив — быстрая команда — __курсив__
- жирный — быстрая команда — **жирный**
- моноширинный текст — быстрая команда — «`моноширинный«`
- зачеркнутый — быстрая команда —
Как сделать жирный шрифт в Телеграмме (telegram bold text)?
Функция изменения шрифта на жирный простая, выполняется всего в два клика.
На телефоне
- выделить нужный фрагмент;
- войти в меню;
- кликнуть на надпись «жирный».
Владельцам телефонов на платформе IOS следует поступить так:
- выделить нужный текст;
- обратиться к выплывающему меню для выбора жирного выделения.
Выделенный жирным текст выделали и пересылали нужному получателю.
На компьютере
На ПК алгоритм действий тот же. В меню нужно выбрать надпись «жирный», чтобы изменить выделенный текст.
Как сделать зачёркнутый текст в Telegram?
Зачеркивание ранее было недоступно в самом приложении, поэтому форматировали текст с помощью сервиса «4txt.ru». Это метод можно применять и сегодня, хотя необходимости в нем уже нет.
На телефоне
Алгоритм действий для изменения форматирования в Телеграмм следующий:
- Выделить нужный текст.
- Открыть меню, нажав на три точки справа сверху.
- В появившейся панели выбрать надпись «Зачеркнутый».
В строке сообщений тут же появится отформатированный текст.
На компьютере
На ПК порядок действий следующий:
- Выделить нужную часть текста.
- Кликнуть по ней правой кнопкой мыши.
- Выбрать в выплывающем меню пункт «Форматирование».
- Нажать на надпись «Зачеркнутый».
Комбинация клавиш для перечёркнутого текста
Также зачеркивание доступно на компьютере при нажатии следующей комбинации клавиш: Ctrl+Shift+X.
Как менять шрифт в Телеграмме?
Для изменения шрифта в программе есть несколько вариантов.
Использование красивых шрифтов
К сожалению, применение других шрифтов в приложении пока невозможно. Можно только украсить курсивом, подчеркиванием, зачеркиванием, жирным выделением или использовать моноширинный текст.
Как менять размер шрифта: увеличить или уменьшить?
Увеличение или уменьшение размера символов возможно, но только для всего текста сразу. Нельзя изменить параметры только для слова или отдельного символа.
Поэтому если хочется видеть текст наиболее объемным, можно воспользоваться исключительно опцией масштабирования. При этом собеседник будет видеть надписи согласно собственным настройкам.
Для изменения размера системного шрифта необходимо:
- Войти в настройки.
- Кликнуть на пункт «Оформление».
- Выбрать надпись «Размер текста».
- Изменить параметр, двигая ползунок до нужного значения.
- Нажать на кнопку «Применить».
- Вызвать меню.
- Зайти в раздел настроек.
- Кликнуть на пункт «Масштаб».
- Двигать ползунком до нужного параметра.
Как писать курсивом?
Чтобы печатать курсивом, нужно перед текстом и после него ставить нижние подчеркивания либо применить специальную опцию, выделив текст, потом кликнув в меню на пункт «Italics» – курсив.
Как использовать подчёркнутый текст?
Чтобы подчеркнуть текст, нужно воспользоваться тем же алгоритмом, что предназначен для зачеркивания. Выделить слово, вызвать меню и выбрать надпись «Подчеркнутый».
Какой шрифт используется в Телеграмме по умолчанию?
Шрифт программы называется «Roboto».
Проверка орфографии в Telegram Desktop
Для проверки правильности написания слов или предложений, можно воспользоваться специальным ботом, который подскажет, есть ли ошибки.