Функции .add больше нет в InlineKeyboardMarkup, данная функция была перенесена в InlineKeyboardBuilder и изменена немного по функционалу
Что использовать зависит от вас. Для использования InlineKeyboardMarkup теперь нужно отправлять список кнопок
А вот InlineKeyboardBuilder это примерно такой же функционал как у InlineKeyboardMarkup из aiogram 2.0
Пример использования InlineKeyboardBuilder:
from aiogram import types
from aiogram.utils.keyboard import InlineKeyboardBuilder
builder = InlineKeyboardBuilder()
# 1 вариант (в строку)
builder.row(
types.InlineKeyboardButton(text, callback_data),
types.InlineKeyboardButton(text, callback_data)
)
# ---
# 2 вариант (в строку)
builder.button(text, callback_data)
builder.button(text, callback_data)
# ---
# 1 вариант (в столбец)
builder.row(
types.InlineKeyboardButton(text, callback_data),
types.InlineKeyboardButton(text, callback_data),
width=1
)
# ---
# 2 вариант (в столбец)
builder.button(text, callback_data)
builder.button(text, callback_data)
builder.adjust(1)
# ---
Пример использования InlineKeyboardMarkup:
kb = [
[
types.InlineKeyboardButton(text, callback_data),
types.InlineKeyboardButton(text, callback_data)
],
[
types.InlineKeyboardButton(text, callback_data)
]
]
keyboard = types.InlineKeyboardMarkup(inline_keyboard=kb)