Как реализовать перелистывание сообщения в aiogram с помощью inline кнопок?
Пишу телеграм бота и столкнулся с проблемой, что не могу найти информацию, как как реализовать перелистывание сообщения в aiogram с помощью inline кнопок.

Выглядеть это должно примерно так. Мне нужно чтобы с помощью этих кнопок можно было перелистывать очень длинное сообщение, так как в телеграмме есть ограничение на длину сообщения. Буду рад любой помощи
Ответы (1 шт):
Автор решения: oleksandrigo
→ Ссылка
Ну к примеру вот так.
from aiogram import Bot, Dispatcher, executor, types
from aiogram.types import InlineKeyboardMarkup, InlineKeyboardButton
from aiogram.contrib.fsm_storage.memory import MemoryStorage
from data import config
bot = Bot(token=config.BOT_TOKEN)
storage = MemoryStorage()
dp = Dispatcher(bot, storage=storage)
@dp.callback_query_handler(text_startswith="prev")
async def prev_page(call: types.CallbackQuery):
await call.answer()
data = int(call.data.split(":")[1]) - 1
markup = InlineKeyboardMarkup().add(
InlineKeyboardButton("PREV", callback_data=f"prev:{data}"),
InlineKeyboardButton(str(data), callback_data="null"),
InlineKeyboardButton("NEXT", callback_data=f"next:{data}"),
)
await call.message.edit_text("text", reply_markup=markup)
@dp.callback_query_handler(text_startswith="next")
async def next_page(call: types.CallbackQuery):
await call.answer()
data = int(call.data.split(":")[1]) + 1
markup = InlineKeyboardMarkup().add(
InlineKeyboardButton("PREV", callback_data=f"prev:{data}"),
InlineKeyboardButton(str(data), callback_data="null"),
InlineKeyboardButton("NEXT", callback_data=f"next:{data}"),
)
await call.message.edit_text("text", reply_markup=markup)
@dp.message_handler(commands=["start"])
async def handler(msg: types.Message):
markup = InlineKeyboardMarkup().add(
InlineKeyboardButton("PREV", callback_data=f"prev:0"),
InlineKeyboardButton("0", callback_data="null"),
InlineKeyboardButton("NEXT", callback_data=f"next:1")
)
await msg.answer('text', reply_markup=markup)
if __name__ == '__main__':
executor.start_polling(dp)