Menus
- class navmenu.menus.BaseMenu(aliases=None)[source]
A generic menu.
- Parameters
aliases (
Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.
- enter(payload=None)[source]
Enter the menu and optionally return a message.
- Parameters
payload (
Optional[dict]) – An incoming message payload.- Return type
Optional[Message]- Returns
None or a message.
- abstract get_message(payload=None)[source]
Get a message representing the menu.
- Parameters
payload (
Optional[dict]) – An incoming message payload.- Return type
- Returns
A message representing the menu.
- abstract select(action, payload=None)[source]
Select an item based on action and payload and optionally return one or multiple messages.
- Parameters
action (
str) – A string indicating selected menu button.payload – An incoming message payload.
- Return type
Optional[Iterator[Message]]- Returns
None or a list of messages.
- class navmenu.menus.Menu(content, items=None, default_action=None, aliases=None)[source]
Bases:
navmenu.menus.BaseMenuA menu with fixed content and list of items.
- Parameters
content (
BaseContent) – The menu content.items (
Optional[Sequence[BaseItem]]) – A sequence of menu items.default_action (
Optional[Action]) – The action to select when the provided action does not exist.aliases (
Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.
- add_item(item)[source]
Add the item to the menu.
- Parameters
item (
BaseItem) – The item to add.- Raises
RuntimeError – The menu’s item list is immutable.
- Return type
None
- get_message(payload=None)[source]
Get a message representing the menu.
- Parameters
payload (
Optional[dict]) – An incoming message payload.- Return type
- Returns
A message representing the menu.
- select(action, payload=None)[source]
Select an item based on action and payload and optionally return one or multiple messages.
- Parameters
action (
str) – A string indicating selected menu button.payload (
Optional[dict]) – An incoming message payload.
- Return type
Optional[Iterator[Message]]- Returns
None or a list of messages.
- class navmenu.menus.CustomMenu(handler, aliases=None)[source]
Bases:
navmenu.menus.BaseMenuA menu that is controlled by a custom class.
- Parameters
handler – A class containing “select”, “get_message” and “enter” methods.
aliases (
Optional[Sequence[str]]) – A sequence of strings that act as shortcuts to the menu.
- enter(payload=None)[source]
Enter the menu and optionally return a message.
- Parameters
payload (
Optional[dict]) – An incoming message payload.- Return type
Optional[Message]- Returns
None or a message.
- get_message(payload=None)[source]
Get a message representing the menu.
- Parameters
payload (
Optional[dict]) – An incoming message payload.- Return type
Optional[Message]- Returns
A message representing the menu.
- select(action, payload=None)[source]
Select an item based on action and payload and optionally return one or multiple messages.
- Parameters
action (
str) – A string indicating selected menu button.payload (
Optional[dict]) – An incoming message payload.
- Return type
Optional[Iterator[Message]]- Returns
None or a list of messages.