pykeyboard

![PyPI](https://img.shields.io/pypi/v/pykeyboard) [![Downloads](https://pepy.tech/badge/pykeyboard)](https://pepy.tech/project/pykeyboard) ![GitHub](https://img.shields.io/github/license/pystorage/pykeyboard)
# Pykeyboard - [What's new?](#whats-new) - [Installation](#installation) - [Documentation](#documentation) - [Inline Keyboard](#inline-keyboard) - [Inline Keyboard add buttons](#inline-keyboard-add-buttons) - [Inline Keyboard row buttons](#inline-keyboard-row-buttons) - [Pagination inline keyboard](#pagination-inline-keyboard) - [Pagination 3 pages](#pagination-3-pages) - [Pagination 5 pages](#pagination-5-pages) - [Pagination 9 pages](#pagination-9-pages) - [Pagination 100 pages](#pagination-100-pages) - [Pagination 150 pages and buttons](#pagination-150-pages-and-buttons) - [Reply Keyboard](#reply-keyboard) - [Reply Keyboard add buttons](#reply-keyboard-add-buttons) - [Reply Keyboard row buttons](#reply-keyboard-row-buttons) # What's new? - Added a new method to InlineKeyboard for working with pagination. The InlinePaginationKeyboard class will be removed in a future version. - Overriding the KeyboardButton, ReplyKeyboardRemove, ForceReply, InlineKeyboardButton methods in ReplyButton, ReplyKeyboardRemove, ForceReply, InlineButton. # Installation ```shell pip install pykeyboard ``` # Documentation ## Inline Keyboard ```python from pykeyboard import InlineKeyboard ``` ##### Parameters: - row_width (integer, default 3) ### Inline Keyboard add buttons #### Code ```python from pykeyboard import InlineKeyboard, InlineButton keyboard = InlineKeyboard(row_width=3) keyboard.add( InlineButton('1', 'inline_keyboard:1'), InlineButton('2', 'inline_keyboard:2'), InlineButton('3', 'inline_keyboard:3'), InlineButton('4', 'inline_keyboard:4'), InlineButton('5', 'inline_keyboard:5'), InlineButton('6', 'inline_keyboard:6'), InlineButton('7', 'inline_keyboard:7') ) ``` #### Result

add_inline_button

### Inline Keyboard row buttons #### Code ```python from pykeyboard import InlineKeyboard, InlineButton keyboard = InlineKeyboard() keyboard.row(InlineButton('1', 'inline_keyboard:1')) keyboard.row( InlineButton('2', 'inline_keyboard:2'), InlineButton('3', 'inline_keyboard:3') ) keyboard.row(InlineButton('4', 'inline_keyboard:4')) keyboard.row( InlineButton('5', 'inline_keyboard:5'), InlineButton('6', 'inline_keyboard:6') ) ``` #### Result

row_inline_button

### Pagination inline keyboard ```python from pykeyboard import InlineKeyboard ``` #### Parameters: - count_pages (integer) - current_page (integer) - callback_pattern (string) - use of the `{number}` pattern is required #### Pagination 3 pages #### Code ```python from pykeyboard import InlineKeyboard keyboard = InlineKeyboard() keyboard.paginate(3, 3, 'pagination_keyboard:{number}') ``` #### Result

pagination_keyboard_3

#### Pagination 5 pages #### Code ```python from pykeyboard import InlineKeyboard keyboard = InlineKeyboard() keyboard.paginate(5, 3, 'pagination_keyboard:{number}') ``` #### Result

pagination_keyboard_5

#### Pagination 9 pages #### Code ```python from pykeyboard import InlineKeyboard keyboard = InlineKeyboard() keyboard.paginate(9, 5, 'pagination_keyboard:{number}') ``` #### Result

pagination_keyboard_9

#### Pagination 100 pages #### Code ```python from pykeyboard import InlineKeyboard keyboard = InlineKeyboard() keyboard.paginate(100, 100, 'pagination_keyboard:{number}') ``` #### Result

pagination_keyboard_100

#### Pagination 150 pages and buttons #### Code ```python from pykeyboard import InlineKeyboard, InlineButton keyboard = InlineKeyboard() keyboard.paginate(150, 123, 'pagination_keyboard:{number}') keyboard.row( InlineButton('Back', 'pagination_keyboard:back'), InlineButton('Close', 'pagination_keyboard:close') ) ``` #### Result

pagination_keyboard_150

## Reply Keyboard ```python from pykeyboard import ReplyKeyboard ``` #### Parameters: - resize_keyboard (bool, optional) - one_time_keyboard (bool, optional) - selective (bool, optional) - row_width (integer, default 3) ### Reply Keyboard add buttons #### Code ```python from pykeyboard import ReplyKeyboard, ReplyButton keyboard = ReplyKeyboard(row_width=3) keyboard.add( ReplyButton('Reply button 1'), ReplyButton('Reply button 2'), ReplyButton('Reply button 3'), ReplyButton('Reply button 4'), ReplyButton('Reply button 5') ) ``` #### Result

add_reply_button

### Reply Keyboard row buttons #### Code ```python from pykeyboard import ReplyKeyboard, ReplyButton keyboard = ReplyKeyboard() keyboard.row(ReplyButton('Reply button 1')) keyboard.row( ReplyButton('Reply button 2'), ReplyButton('Reply button 3') ) keyboard.row(ReplyButton('Reply button 4')) keyboard.row(ReplyButton('Reply button 5')) ``` #### Result

row_reply_button