ListGroup#

ListGroup is more complex way to render widgets for list of items. While Select generates simple buttons, with ListGroup you can create any set of keyboard widgets and repeat them.

To identity item inside keyboard event you can check dialog_manager.item_id. This is possible because SubManager is passed instead of DialogManager while corresponding widget is located inside ListGroup.

class aiogram_dialog.widgets.kbd.ListGroup(*buttons, id, item_id_getter, items, when=None)#
Parameters:
  • buttons (Keyboard) –

  • id (str) –

  • item_id_getter (Callable[[Any], str | int]) –

  • items (str | Callable[[Dict], Sequence] | MagicFilter | Sequence) –

  • when (str | MagicFilter | Predicate | None) –

__init__(*buttons, id, item_id_getter, items, when=None)#
Parameters:
  • buttons (Keyboard) –

  • id (str) –

  • item_id_getter (Callable[[Any], str | int]) –

  • items (str | Callable[[Dict], Sequence] | MagicFilter | Sequence) –

  • when (str | MagicFilter | Predicate | None) –

class aiogram_dialog.widgets.kbd.ManagedListGroup(widget, manager)#
Parameters:
  • widget (W) –

  • manager (DialogManager) –

find_for_item(widget_id, item_id)#

Find widget for specific item_id.

Parameters:
  • widget_id (str) –

  • item_id (str) –

Return type:

Any | None

class aiogram_dialog.manager.sub_manager.SubManager(widget, manager, widget_id, item_id)#
Parameters:
  • widget (Widget) –

  • manager (DialogManager) –

  • widget_id (str) –

  • item_id (str) –