Грядущее обновление [email protected] — модуль меню
В последний день августа позволю себе сделать ленивый тизер на грядущее обновление aiogram-forms. Встречайте новый модуль — меню!
Я всё ещё веду активную разработку, поэтому некоторые API могут меняться; однако общая идея останется такой.
Максимально коротко и просто: импортируем, создаём нужный нам подкласс, регистрируем в диспатчере.
from aiogram_forms.menus import Menu, MenuItem, actions
@dispatcher.register('main')
class MainMenu(Menu):
order_status = MenuItem('📫 Check order status', action=actions.ShowForm('order-status'))
settings = MenuItem('🔧 Settings', action=actions.ShowMenu('settings'))
about = MenuItem('ℹ️ About', action=actions.Custom(send_about_message))
@classmethod
async def title(cls) -> str:
return '🏠 Home'
@dispatcher.register('settings')
class SettingsMenu(Menu):
...
@dispatcher.register('order-status')
class CheckOrderStatusForm(Form):
...
@dp.message(Command('menu'))
async def command_menu_handler(message: types.Message, manager: Manager) -> None:
await manager.show('main')
Как я и указывал в роудмапе, модуль меню станет доступен с версии 1.2.0, которая предположительно выйдет в сентябре. Помимо нового модуля обновления включают оптимизации, фиксы некоторых багов и переработку менеджера.