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!
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"),
)
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.
- custom localizations
- define include/exclude dates
Small helper for easy building of inline keyboard.
Reply Keyboard
Small helper for easy building of a reply keyboard markup.
- pass any slice of strings
- set perPage value
- set custom lines separator
- pass slides with images and text
Progress bar for long tasks
Simple dialogs