navmenu
latest

Contents:

  • Introduction
  • API Reference
    • Actions
    • Menu Item Contents
    • Menu Items
    • Menu Contents
    • Menus
    • Menu Manager
    • Keyboard
    • Responses
    • State Managers
navmenu
  • »
  • API Reference »
  • Menu Manager
  • Edit on GitHub

Menu Manager

class navmenu.menu_manager.MenuManager(menus, state_handler)[source]

A class that manages menus and transitions between them.

Parameters
  • menus (Dict[str, BaseMenu]) – A dictionary mapping menu names to menus.

  • state_handler (StateHandler) – The menu state manager to store users’ states.

get_message(user_id=None, payload=None)[source]

Get a message representing the current menu.

Parameters
  • user_id (Optional[int]) – A value used to identify the user.

  • payload (Optional[dict]) – An incoming message payload.

Return type

Message

Returns

A message representing the current menu.

select(action, user_id=None, payload=None)[source]

Select an item in the current menu based on action and payload.

This method handles current menu changes.

Parameters
  • action (str) – A string indicating selected menu button.

  • user_id (Optional[int]) – A value used to identify the user.

  • payload (Optional[dict]) – An incoming message payload.

Return type

Sequence[Message]

Returns

A list of messages.

Raises

ValueError – An invalid action was provided.

serialize()[source]

Serialize the class instance to a dictionary.

Return type

dict

Returns

A serialized class instance.

Previous Next

© Copyright 2021, rashidsh. Revision ec67b820.

Built with Sphinx using a theme provided by Read the Docs.