lartie / Telegram-Bot-Pagination by lartie

Telegram Bot Pagination
263
10
4
Package Data
Maintainer Username: lartie
Maintainer Contact: log.wil.log@gmail.com (Artie)
Package Create Date: 2016-11-22
Package Last Update: 2021-04-14
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-26 03:12:39
Package Statistics
Total Downloads: 263
Monthly Downloads: 1
Daily Downloads: 0
Total Stars: 10
Total Watchers: 4
Total Forks: 16
Total Open Issues: 0

Telegram Bot Pagination

Latest Stable Version Total Downloads Latest Unstable Version License composer.lock

Installation

Composer

composer require "lartie/telegram-bot-pagination:^1.0.0"

Usage

Test Data

$items = range(1, 100); 
$command = 'testCommand'; // optional. Default: pagination
$selectedPage = 10; // optional. Default: 1

How To Use


$cqPagination = new CallbackQueryPagination($items, $command);
$cqPagination->setMaxButtons(6);
$cqPagination->setWrapSelectedButton('< #VALUE# >');
    
$pagination = $cqPagination->pagination($selectedPage); //$cqPagination->setSelectedPage($selectedPage);

Result

if (!empty($paginate['keyboard'])) {
    $paginate['keyboard'][0]['callback_data']; // testCommand?currentPage10=&nextPage=1
    $paginate['keyboard'][1]['callback_data']; // testCommand?currentPage10=&nextPage=9
    ...
    
    $response = [
        'reply_markup' => json_encode([
            'inline_keyboard' => [
                $paginate['keyboard'],
            ],
        ]),
    ];
}

Code Quality

Run the PHPUnit tests with PHPUnit.

phpunit tests/

License

The MIT License (MIT). Please see License File for more information.