Python академия
Python академия
2 992 подписчиков · @python_of
К каналу →
🚀 Синхронность vs Асинхронность: Ускоряем код в 10 раз Представьте, что вы стоите в очереди в Макдональдс. 🐢 Синхронный подход (как requests): Кассир принимает ваш заказ, уходит …
Читать далее →
7 160
🤖 Твой первый Telegram-бот на aiogram Мы уже выяснили, что асинхронность это круто. А где она используется чаще всего? Конечно, в Telegram-ботах! Сегодня напишем "Эхо-бота" - это…
Читать далее →
7 113

Делаем бота удобным: Кнопки и Меню

🎛 Делаем бота удобным: Кнопки и Меню

Никто не любит вводить команды вручную (/settings, /help). Пользователи любят тыкать пальцем! В Telegram есть два вида кнопок:

1. Reply-кнопки: Находятся под полем ввода. Идеальны для главного меню.
2. Inline-кнопки: Прикреплены к конкретному сообщению. Идеальны для ссылок, лайков или навигации.

Давайте добавим оба вида в нашего бота!

🛠 Код:

from aiogram.types import KeyboardButton, InlineKeyboardButton
from aiogram.utils.keyboard import ReplyKeyboardBuilder, InlineKeyboardBuilder

# --- 1. Создаем Reply-клавиатуру (Главное меню) ---
def get_main_menu():
# Инициализируем билдер
builder = ReplyKeyboardBuilder()

# Добавляем кнопки
builder.add(KeyboardButton(text="🔥 Профиль"))
builder.add(KeyboardButton(text="⚙️ Настройки"))
builder.add(KeyboardButton(text="📈 Статистика"))

# Настраиваем сетку: 2 кнопки в первом ряду, 1 во втором
builder.adjust(2, 1)

# resize_keyboard=True делает кнопки компактными
return builder.as_markup(resize_keyboard=True)

# --- 2. Создаем Inline-клавиатуру (Ссылка) ---
def get_url_keyboard():
builder = InlineKeyboardBuilder()
builder.row(InlineKeyboardButton(
text="↗️ Подписаться на канал",
url="https://t.me/pythonofff"
))
return builder.as_markup()

# --- Используем в хэндлере ---
@dp.message(Command("start"))
async def cmd_start(message: types.Message):
await message.answer(
"Привет! Вот твое меню 👇",
reply_markup=get_main_menu()
)

await message.answer(
"А это инлайн-кнопка со ссылкой:",
reply_markup=get_url_keyboard()
)

💡 В чем сила Builders?
Метод .adjust(2, 1) позволяет одной строчкой настроить "сетку" кнопок. Раньше для этого приходилось писать сложные циклы списков!

Сохраняй, чтобы не гуглить синтаксис каждый раз! 💾

Подписывайтесь на канал 👉 @python_of
✨ Магия Python: Как работают декораторы? Вы постоянно видите их в коде: @bot.message_handler, @app.route, @staticmethod. Но что на самом деле делает этот символ @? В Python функц…
Читать далее →
7 214
⚡ Lambda: Функции-однострочники В Python часто бывают ситуации, когда вам нужна маленькая функция всего один раз. Например, чтобы отсортировать список по хитрому правилу. Писать …
Читать далее →
7 261
Другие главы канала «Python академия»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 26.05.2026
Прочитать произвольную строку из файла Предположим, вы решили разработать чат-б…
👁 814 просмотров
Глава от 25.05.2026
Ускоряем код с помощью векторизации Одним из приемов для ускорения работы цикло…
👁 763 просмотров
Глава от 25.05.2026
Мифы про ИИ-агентов: что реально работает в 2026 году. Открытый урок курса «ИИ-а…
👁 724 просмотров
Глава от 25.05.2026
Создание дочернего процесса Метод os.fork() создаёт дочерний процесс в том же м…
👁 836 просмотров
Глава от 24.05.2026
В России можно посещать IT-мероприятия хоть каждый день: как оффлайн, так и онла…
👁 925 просмотров
Глава от 24.05.2026
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 ht…
👁 877 просмотров
Глава от 23.05.2026
Функции str.split и rsplit() в Python Функция split() в Python используется для…
👁 1 032 просмотров
Глава от 23.05.2026
Работа аналитика - уже не только про цифры! Это про умение принимать решения бы…
👁 1 122 просмотров
Глава от 21.05.2026
Дескрипторы Дескриптор – это атрибут объекта со “связанным поведением”, то есть…
👁 1 305 просмотров

Популярные посты канала «Python академия»

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 226 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 162 просмотров
PyAutoGUI PyAutoGUI позволяет Python управлять мышью и клавиатурой для автоматизации взаимодействия с другими приложениями. Пакет работает …
👁 8 117 просмотров
В чем сложность массивов и хешмапов в python Сложность массивов (списков) и хешмапов (словари) в Python зависит от операций, которые вы вып…
👁 8 112 просмотров
Чтение аудио-файлов в массив numpy Одним из основных действий в начале аудиоанализа конечно же является чтение аудио-файла и выгрузка его з…
👁 8 083 просмотров
Как использовать ключевое слово global в Python По умолчанию Python думает, что внутри функции вы хотите использовать локальную переменную.…
👁 8 057 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 8 034 просмотров
Как удалить ключ из словаря при помощи генератора Генераторы словаря в Python — это быстрые однострочники, которые позволяют легко создават…
👁 8 032 просмотров
Метод lower() возвращает новую строку lower() возвращает новую строку. Этот момент логически вытекает из предыдущего. Следовательно, если в…
👁 8 030 просмотров
‍Функция zip в Python Функция zip принимает на вход в качестве аргументов итерируемые объекты, а возвращает итератор из кортежей, где i-й …
👁 8 026 просмотров
Альтернативный способ создания namedtuple В качестве альтернативы вы можете передать список, состоящий из имен полей, вместо просто имен по…
👁 8 017 просмотров
📝 Код понятный без слов: Аннотации типов Python - язык с динамической типизацией. Это значит, что переменная x может сначала быть числом 5,…
👁 7 998 просмотров
Валидация email-адресов Для проверки корректности email-адреса а также действительности его существования существует неплохой модуль valida…
👁 7 998 просмотров
Работаем с USB PyUSB — это библиотека, которая обеспечивает легкий доступ к USB. Имеет поддержку изохронной передачи, если её поддерживает …
👁 7 996 просмотров
♾️ Бесконечные аргументы: Магия Звездочек Замечали, что в функцию print() можно передать сколько угодно значений? print(1, "a", [1,2], Tru…
👁 7 989 просмотров
Как искать индекс элемента, которого, возможно, нет в списке Бывает, нужно получить индекс элемента, но мы не уверены, есть ли он в списке.…
👁 7 961 просмотров
Зачем использовать namedtuple вместо обычного словаря Основным преимуществом namedtuple является то, что он занимает меньше места (памяти),…
👁 7 952 просмотров
Как найти индексы всех вхождений элемента в списке А что, если искомое значение встречается в списке несколько раз и мы хотим узнать индекс…
👁 7 933 просмотров
Проверка истинности объекта класса Для того, чтобы определить поведение при проверке на истинность объектов классов в python3 есть "магичес…
👁 7 919 просмотров
Работа с форматированием текста textwrap — это стандартная библиотека, которая спользуется для форматирования текста в тех случаях, когда …
👁 7 913 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@matematik_andrei_channel
Математик Андрей
Основатель онлайн-школы «Точка Знаний» В канале: — короткие видео по темам 1-11 классов — разбор задач ВПР/ОГЭ/ЕГЭ — применение математики в жизни Получить консульта…
👥 274 285 · +26 928/7д
@obr_mo
Образование Подмосковья
Официальный канал Министерства образования Московской области. Актуальные новости школ, колледжей и вузов Подмосковья. Даты ЕГЭ и ОГЭ, рейтинги учебных заведений, изменен…
👥 78 872 · -421/7д
@Moscow_school
Московское образование
Успех начинается здесь! Приложение «ЗОЖ с МЭШиком» https://max.ru/meshik_app_bot Для СМИ: press-donm@mos.ru Сайт: mosobr.shkolamoskva.ru ВК: vk.com/educationdep ТГ: htt…
👥 67 112 · -239/7д
@minprosrf
Минпросвещения России
Официальный канал Министерства просвещения России. Всё об образовании для родителей, педагогов и учащихся. Сайт edu.gov.ru ВКонтакте vk.com/minprosvet Однокл
👥 56 167 · +1 061/7д
@Lingvaa
Лингвист | Русский язык Образование
Канал №1 для тех, кто звонИт, а не звОнит! По рекламе: https://clck.ru/3R7DoR Биржа: https://telega.in/c/Lingvaa
👥 53 567 · -114/7д
@id110802233432_biz
Школы РФ
Новости школьного образования для детей и родителей # дети школа школьник новости школьное образование гдз егэ огэ дневник впр оценка учителя родители Реклама: https:…
👥 45 056 · +599/7д
🏷 Темы и теги
#задачи по python #python #программирование #обучение #алгоритмы #кодинг #Образование
📋 О канале Python академия
Учи Python быстро и легко.

Ежедневно публикуем практические задачи, разборы, готовые решения, объяснения логики, советы по алгоритмам.

✔ Подходит для прокачки навыков кодирования.
🔍 Архив всех постов Макс
Поиск по 9,694,988 постам из 201,272 каналов
Подключить за 490 ₽/мес →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «Python академия» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.