Awesome
Go Telegram Bot UI
The project is under development. API may be changed before v1.0.0 version.
UI controls for telegram bot go-telegram/bot
- datepicker
- inline keyboard
- reply keyboard
- paginator
- slider
- progress
- dialog
- timepicker (todo)
Feel to free to contribute and issues!
Getting Started
go get github.com/go-telegram/bot
go get github.com/go-telegram/ui
Important
UI components register own bot handlers on init. If you restart the bot instance, inline buttons in already opened components can't work.
For solving this issue, you should use bot.WithPrefix
option for instance of widgets.
Example:
picker := datepicker.New(
b,
onDatepickerSimpleSelect,
datepicker.WithPrefix("datepicker-simple"),
)
Live demo
You can run demo bot from examples
folder.
Before start, you should set EXAMPLE_TELEGRAM_BOT_TOKEN
environment variable to your bot token.
go run examples/*.go
Also, you can try online version of this bot right now.
DatePicker
- custom localizations
- define include/exclude dates
Inline Keyboard
Small helper for easy building of inline keyboard.
Reply Keyboard
Small helper for easy building of a reply keyboard markup.
Paginator
- pass any slice of strings
- set perPage value
- set custom lines separator
Slider
- pass slides with images and text
Progress
Progress bar for long tasks
Dialog
Simple dialogs