Python inline keyboard pagination for Telegram Bot API
Project description
python-telegram-bot-pagination
Provide easy way for create number pagination with inline keyboard for telegram bot on python.
Example with pyTelegramBotAPI
Example with python-telegram-bot
Installation
pip install python-telegram-bot-pagination
Usage
from telegram_bot_pagination import InlineKeyboardPaginator
paginator = InlineKeyboardPaginator(
page_count,
current_page=page,
data_pattern='page#{page}'
)
bot.send_message(
chat_id,
text,
reply_markup=paginator.markup,
)
Init arguments:
- page_count - integer, total 1-based pages count.
- current_page - integer, 1-based current page. Default 1
- data_pattern - string with python style formatting named argument 'page'. Used for generate callback data for button. Default '{page}'
Properties:
- markup - json object for InlineKeyboardMarkup TelegramAPI type
- keyboard - array of button's dist
Button render controlling
For edit button render, use paginator object properties:
- first_page_label
- previous_page_label
- current_page_label
- next_page_label
- last_page_label
All of them can by python style formatting string with one arg, or simple string.
For example:
class MyPaginator(InlineKeyboardPaginator):
first_page_label = '<<'
previous_page_label = '<'
current_page_label = '-{}-'
next_page_label = '>'
last_page_label = '>>'
paginator = MyPaginator(page_count)
Result:
Adding extra button
For adding button line before and after pagination use methods:
- add_before(*args)
- add_after(*args)
Each argument mast provide property 'text' and 'callback_data'
For example:
paginator.add_before(
InlineKeyboardButton('Like', callback_data='like#{}'.format(page)),
InlineKeyboardButton('Dislike', callback_data='dislike#{}'.format(page))
)
paginator.add_after(InlineKeyboardButton('Go back', callback_data='back'))
Result:
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 python-telegram-bot-pagination-0.0.3.tar.gz
.
File metadata
- Download URL: python-telegram-bot-pagination-0.0.3.tar.gz
- Upload date:
- Size: 3.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15305e9faea6b33956f016f7c064adabc0e450142a7be33286c6f8d5fbbcdd49 |
|
MD5 | f402f8642f2b29d630262ae29c5a1aa5 |
|
BLAKE2b-256 | 3dac761d6a3bcb230b8445dc716be5daf8421f48df24b7668701b86d30d25490 |