class Tourmaline::RoutedMenu
- Tourmaline::RoutedMenu
- Reference
- Object
Overview
The RoutedMenu
helper class offers a simple to use DSL for creating
menus, potentially with multiple levels. Includes support for HTTP
like routing, route history, back buttons, and more.
Routes are hashed and shortened before being sent, which means you have no need to worry about the typical 65 character callback query data limit.
Example:
MENU = RoutedMenu.build do
route "/" do
content "Some content to go in the home route"
buttons do
route_button "Next page", "/page_2"
end
end
route "/page_2" do
content "..."
buttons do
back_button "Back"
end
end
end
# in a command
send_menu(chat_id, MENU)
Defined in:
tourmaline/extra/routed_menu.crConstructors
Class Method Summary
Instance Method Summary
- #add_route(route, page)
- #current_page
- #current_route : String
- #event_handler : EventHandler
- #handle_button_click(ctx)
- #route_history : Array(String)
- #routes : Hash(String, Page)
Constructor Detail
def self.new(routes : Hash(String, Tourmaline::RoutedMenu::Page) = {} of String => Page, start_route = "/", group = Helpers.random_string(8))
#