← Все вопросы

Как сделать инлайн-кнопки прямо под сообщением бота?

Задан 19 месяцев назад1.1к просмотров1 ответ
6

Видел в ботах кнопки, которые прикреплены прямо к сообщению (не внизу экрана). Например «Да / Нет» под вопросом. Как сделать такие в aiogram?

1 ответ

10
✓ Принятый ответ — помог автору

Это InlineKeyboard. У каждой кнопки есть callback_data — невидимая метка, по которой бот поймёт, что нажали.

from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton

kb = InlineKeyboardMarkup(inline_keyboard=[
    [
        InlineKeyboardButton(text="Да", callback_data="yes"),
        InlineKeyboardButton(text="Нет", callback_data="no"),
    ]
])

@dp.message(Command("vote"))
async def vote(message: Message):
    await message.answer("Тебе нравится программирование?", reply_markup=kb)

Дальше нужно отдельно ловить нажатие через @dp.callback_query(...) — об этом обычно следующий вопрос. Главное запомни: текст кнопки видит пользователь, а callback_data — это «код» для твоей программы (до 64 символов).

Ваш ответ

Войдите, чтобы ответить на вопрос.