добавление нескольких кнопок через бота aiogram

введите сюда описание изображения

всем привет! делаю бота для беседы aiogram на python с функцией рассылки сообщений в чаты. хочу сделать возможность добавления нескольких кнопок(как на картинке выше), но не понимаю как это можно реализовать.

может кто-то писал похожего бота, и у вас есть код, или вы можете подсказать как это сделать?


Ответы (1 шт):

Автор решения: Bellisa

Добавление инлайн кнопок происходит через InlineKeyboardMarkup:

from aiogram.types import InlineKeyboardButton, InlineKeyboardMarkup #подключение библиотек для создания инлайн кнопок
        
markup = InlineKeyboardMarkup(row_width=1) #создание инлайн кнопки markup с шириной в 1 стоблец
#добавление кнопок 
btn_1 = InlineKeyboardButton(text='Сообщение 1', callback_data='message_1')
btn_2 = InlineKeyboardButton(text='Сообщение 2', callback_data='message_2')  
        
markup.insert(btn_1,btn_2)
    
    @dp.message_handler(commands=['start'])
    async def ru_menu(message: types.Message):
        await bot.send_message(message.from_user.id, 'Главное меню', reply_markup=markup) #при команде /start выходит надпись и инлайн-клавиатура
    
    @dp.callback_query_handler(text=['message_1']) #при нажатии на первую кнопку "Сообщение 1" его callback_data определяется хэндлером и запускается функция
    async def callback_1(callback: types.CallbackQuery):
        await bot.send_message(callback.from_user.id, 'Сообщение 1')
    
    
    @dp.callback_query_handler(text=['message_2']) #при нажатии на вторую кнопку "Сообщение 2" его callback_data определяется хэндлером и запускается функция
    async def callback_1(callback: types.CallbackQuery):
        await bot.send_message(callback.from_user.id, 'Сообщение 2')
→ Ссылка