Сегодня я вам расскажу как добавить inline кнопки в telegram бота .
Перед начало советую прочитать прошлую статью про aiogram .
Начало
В директории нашего бота создаем файл с названием keyboard.py .
В нем мы импортируем следующее
from aiogram.types import InlineKeyboardMarkup,InlineKeyboardButton.
Теперь мы создаем переменную menu которая будет содержать наши кнопки.
menu =InlineKeyboardMarkup(inline_keyboard=[
[
InlineKeyboardButton(text="привет",callback_data="hay")
],
[
InlineKeyboardButton(text="пока",calldata_data="goodbay")
],
])
В InlineKeyboardButton callback_data это то по чему мы будем определять что нажал пользователь .
Теперь переходим в главный файл нашего бота .
Импортируем наше меню и т.д.
from keyboard import menu
from aiorgam.types import CallbackQuery
Делаем хэндлер ( обработчик ) наших нажатий на кнопку
@dp.callback_query_handler()
Далее создаем функцию обрабатывающею наши нажатия и в зависимости от чего мы нажали она будет отправлять текст.
async def heandler_callback(call: CallbackQuery):
----if call.data =="hay":
--------await call.message.answer("привет")
----elif call.data=="goodbay":
--------await call.message.answer("пока")
Последний штрих
Осталось отправлять наше меню
from aiogram.types import Message
@dp.message_handler():
async def send_menu(msg:Message):
----await msg.answer("нажми на кнопку и я отвечу",reply_murkup=menu)
Теперь запускаем пишем любой текст и он отправляет наше меню . Нажимаем любую кнопку и он взависимости от нажатой кнопки отправляет текст .