Skip to main content

python-telegram-bot-pagination

Download Month Build Status

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:

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:

Release files for python-telegram-bot-pagination 0.0.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for python-telegram-bot-pagination 0.0.3
File Size Uploaded
python-telegram-bot-pagination-0.0.3.tar.gz 3.5 kB Details

Release files / python-telegram-bot-pagination-0.0.3.tar.gz

Download URL python-telegram-bot-pagination-0.0.3.tar.gz
Size 3.5 kB
Tags Source
SHA-256 checksum
How to use checksums
15305e9faea6b33956f016f7c064adabc0e450142a7be33286c6f8d5fbbcdd49
BLAKE2b-256 checksum
How to use checksums
3dac761d6a3bcb230b8445dc716be5daf8421f48df24b7668701b86d30d25490
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.0.3 This release

1 release file

0.0.2

1 release file

0.0.1

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page