Module for deep pagination in an aiogram bot
Project description
aiogram-pagination
This module will help you create layered callback menus. The module is based on the concept that each callback has all the preceding callbacks in it.
INSTALLATION
pip install aiogram-pagination
QUICK START
To create callbacks you need to use the callback factory from the aiogram-pagination module
from aiogram_pagination.utils.callback_stack_factory import CallbackStackFactory
cb = CallbackStackFactory('foo', 'bar')
You can use both the simple version of the callback stack and the version with abbreviated callbacks.
Simple version:
from aiogram_pagination.callback_stack import SimpleCallbackStack
callback_stack = SimpleCallbackStack(callback_data={'foo': 0, 'bar': 1, 'previous': ''},
callback_factory=cb)
callback_stack.next(callback_data={'foo': 6, 'bar': 6},
callback_factory=cb)
callback_stack.previous()
Version with abbreviation:
from aiogram_pagination.callback_stack import AbbreviatedCallbackStack
callback_stack = AbbreviatedCallbackStack(
callback_data={'foo': 0, 'bar': 1, 'previous': ''},
callback_factory=cb
)
callback_stack.next(callback_data={'foo': 6, 'bar': 6},
callback_factory=cb)
callback_stack.previous(default='some:callback')
CONFIGURATION
For configuration, you can use any configuration file placed in the root directory of the project or in the data folder.
The module uses configs under the "callback stack" key. the default is config.json in the data folder of the aiogram-pagination module.
Example:
{
"callback_stack":
{
"storage": "redis",
"cache_time_limit": 3600,
"max_pagination_depth": false,
"redis_db": 1
}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file aiogram-pagination-0.1.2.tar.gz
.
File metadata
- Download URL: aiogram-pagination-0.1.2.tar.gz
- Upload date:
- Size: 8.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.2 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a105714b21b2aeda270954fde7a25a68c002d54707a86f3bad56a2bb94f3ca37 |
|
MD5 | 8d5b7b5411c84081abc307c3fb9cdad8 |
|
BLAKE2b-256 | b3738b47825d0cb955d374f0c6a5b7673350e04605270bd063b2717b03e5a1a2 |