Date Selection tool for MaxAPI Bots
Description
A simple inline calendar, date selection tool for aiogram telegram bots written in Python.
Offers two types of date pickers:
Navigation calendar - user can either select a date or move to the next or previous month/year by clicking a singe button.
Dialog calendar - user selects year on first stage, month on next stage, day on last stage.
From version 0.2 supports aiogram 3, use version 0.1.1 with aiogram 2. **From version 0.6 supports aiogram 3.7, use version 0.5 with aiogram <3.7 **
Main features
- Two calendars with abilities to navigate years, months, days altogether or in dialog
- Ability to set specified locale (language of captions) or inherit from user`s locale
- Limiting the range of dates to select from
- Highlighting todays date
Usage
Install package
pip install aiogram_calendar
A full working example on how to use aiogram-calendar is provided in *bot_example.py*.
In example keyboard with buttons is created.
Each button triggers a calendar in a different way by adding it to a message with a reply_markup.
reply_markup=await SimpleCalendar().start_calendar()
^^ will reply with a calendar created using English localization (months and days of week captions). Locale can be overridden by passing locale argument:
reply_markup=await SimpleCalendar(locale='uk_UA').start_calendar()
or by getting locale from User data provided by telegram API using get_user_locale method by passing message.from_user to it
reply_markup=await SimpleCalendar(locale=await get_user_locale(message.from_user)).start_calendar()
Depending on what button of calendar user will press callback is precessed using the process_selection method.
selected, date = await SimpleCalendar(locale=await get_user_locale(callback_query.from_user)).process_selection(callback_query, callback_data)
Here locale is specified from callback_query.from_user
Gif demo:
Metadata
Release files for maxapi_calendar 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| maxapi_calendar-0.1.1.tar.gz | 7.6 kB | Details |
Release files / maxapi_calendar-0.1.1.tar.gz
| Download URL | maxapi_calendar-0.1.1.tar.gz |
|---|---|
| Size | 7.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
1086db7309417ac1b1e093a433d4a9020a3c88c93208066e9dd5e8ba5f55f1f0
|
|
BLAKE2b-256 checksum How to use checksums |
7dad4fdff837b5974d2af8d88d141ad90f44aee0c3fb4fdde938d7037668816d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"25.10","id":"questing","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|