Skip to main content

A library to create multilevel menus for chatbots

Project description

navmenu

A library to create multilevel menus for chatbots.

PyPI Version Python Versions Documentation Status Tests

Installation

navmenu can be installed with pip:

pip3 install navmenu

Introduction

First, import everything you will need:

from navmenu import MenuManager
from navmenu.actions import MessageAction, SubmenuAction, GoBackAction
from navmenu.contents import Content
from navmenu.io import ConsoleIO
from navmenu.item_contents import TextItemContent
from navmenu.items import Item
from navmenu.menus import Menu
from navmenu.state import MemoryStateHandler

Then, create a menu with one item:

menu = Menu(Content('Welcome!'), [
    Item('print', TextItemContent('print text'), MessageAction('Text message'))
])

'print' is the internal menu item name. It can be any string but must be unique within menu.

Also, you can add items to menus later:

new_item = Item('hello', TextItemContent('say hello'), MessageAction('Hello!'))
menu.add_item(new_item)

Every menu should be wrapped in a MenuManager:

menu_manager = MenuManager({
    'main_menu': menu
}, MemoryStateHandler('main_menu'))

MemoryStateHandler('main_menu') means that the user state will be saved in memory. It will not persist between app restarts. 'main_menu' is the name of the first menu to show.

Finally, show the menu to a user:

io = ConsoleIO(menu_manager)
io.start_loop()

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

navmenu-0.2.1.tar.gz (11.1 kB view hashes)

Uploaded Source

Built Distribution

navmenu-0.2.1-py3-none-any.whl (15.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page