All Projects → kisulken → go-telegram-flow

kisulken / go-telegram-flow

Licence: MIT license
Go Telegram Flow is a set of tools that may assist bot developers

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-telegram-flow

SidebarOverlay
Yet another implementation of sidebar menu, but here your menu appears over the top view controller.
Stars: ✭ 66 (+135.71%)
Mutual labels:  menu
uPortal-web-components
A collection of uPortal Web Components and JavaScript utilities
Stars: ✭ 24 (-14.29%)
Mutual labels:  menu
menu-bundle
Extends the KnpMenuBundle to work with PHPCR ODM
Stars: ✭ 32 (+14.29%)
Mutual labels:  menu
react-native-select-pro
React Native dropdown (select) component developed by Mobile Reality
Stars: ✭ 79 (+182.14%)
Mutual labels:  menu
ALButtonMenu
A simple, fully customizable menu solution for iOS.
Stars: ✭ 45 (+60.71%)
Mutual labels:  menu
drawer
A touch-enabled drawer component for the modern web.
Stars: ✭ 26 (-7.14%)
Mutual labels:  menu
MD Menu
Menu system for displays with up to 2 lines
Stars: ✭ 49 (+75%)
Mutual labels:  menu
Asuite
ASuite is a simple open source portable launcher for Microsoft Windows.
Stars: ✭ 58 (+107.14%)
Mutual labels:  menu
bsnav
An extended Bootstrap 4 menu with a bunch of utilities
Stars: ✭ 90 (+221.43%)
Mutual labels:  menu
MYNavigationController
导航控制器的压缩 , 使得可以将导航范围缩小到指定区域 , 实现页面中的页面效果 . 适用于路径选择,文件选择等
Stars: ✭ 47 (+67.86%)
Mutual labels:  menu
menu-circular
Menu circular desarrollado con C# en Unity3D
Stars: ✭ 18 (-35.71%)
Mutual labels:  menu
Accordion
Silky-smooth accordion widgets with no external dependencies.
Stars: ✭ 32 (+14.29%)
Mutual labels:  menu
Menu
The most customizable menu for macOS apps.
Stars: ✭ 84 (+200%)
Mutual labels:  menu
navigator
🧿 Build navigation or menu for Laravel and Awes.io. Unlimited complexity and depth, with permissions and sorting support.
Stars: ✭ 47 (+67.86%)
Mutual labels:  menu
priority-plus
A modern implementation of the priority plus navigation pattern.
Stars: ✭ 30 (+7.14%)
Mutual labels:  menu
EEJSelectMenu
Single selection menu with cool animations
Stars: ✭ 23 (-17.86%)
Mutual labels:  menu
avy-menu
An Avy-powered popup menu
Stars: ✭ 16 (-42.86%)
Mutual labels:  menu
apporder
Nextcloud app to enable sorting inside the app menu
Stars: ✭ 30 (+7.14%)
Mutual labels:  menu
react-native-panel
A Customizable React Native Panel for Android and iOS
Stars: ✭ 35 (+25%)
Mutual labels:  menu
menu-hamburger
🍔 A clean, simple and easy to use library to create a Menu Hamburger
Stars: ✭ 17 (-39.29%)
Mutual labels:  menu

Go Report Card

go-telegram-flow

Flow is a small framework for Telegram that is based on this telegram bot package and this locale package

go get -u github.com/kisulken/go-telegram-flow

With this library you can create dynamic menus & logical chains in Telegram just by defining the flow! Wow!

To see the full example check _examples directory

    // menu
	flow, err := menu.NewMenuFlow("flow1", b, "_examples/menu/lang", defaultLocale)
	if err != nil {
		panic(err)
	} 
	flow.GetRoot().
		Add("greetings", userPressGreeting).
		AddWith("order", userPress,
			flow.NewNode("pizza", userPress).
				Add("margarita", userOrderPizza).
				Add("pepperoni", userOrderPizza).
				Add("back", userPressBack), // traditional way of making back buttons
			flow.NewNode("sushi", userPress).
				Add("temaki", userOrderSushi).
				Add("nigiri", userOrderSushi).
				Add("sasazushi", userOrderSushi).
				Add("back", userPressBack),
			flow.NewBackNode("back"), // a short hand for making back buttons
		).
		Add("invoice", userPressInvoice).
		Add("language", userPressLanguage).GetFlow().Build("en").Build("ru")
    // chain
	flow, err = chain.NewChainFlow("flow1", b)
	if err != nil {
		panic(err)
	}

	flow.DefaultHandler(defaultResponse).GetRoot().
		Then("name", stageName, tb.OnText).
		Then("phone", stagePhone, tb.OnContact).
		Then("share_location", stageShareLocation, tb.OnText).
		Then("location", stageLocation, tb.OnLocation)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].