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

Рейтинг: 0Ответов: 1Опубликовано: 02.03.2023

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

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

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

Ответы

▲ 0

Добавление инлайн кнопок происходит через 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')