Skip to main content

Python inline keyboard pagination for Telegram Bot API

Project description

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:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

python-telegram-bot-pagination-0.0.3.tar.gz (3.5 kB view details)

Uploaded Source

File details

Details for the file python-telegram-bot-pagination-0.0.3.tar.gz.

File metadata

File hashes

Hashes for python-telegram-bot-pagination-0.0.3.tar.gz
Algorithm Hash digest
SHA256 15305e9faea6b33956f016f7c064adabc0e450142a7be33286c6f8d5fbbcdd49
MD5 f402f8642f2b29d630262ae29c5a1aa5
BLAKE2b-256 3dac761d6a3bcb230b8445dc716be5daf8421f48df24b7668701b86d30d25490

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page