Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pystorage/pykeyboard
Best Keyboard and Pagination for the Pyrogram Library.
https://github.com/pystorage/pykeyboard
bot keyboard pagination pyrogram telegram userbot
Last synced: 2 months ago
JSON representation
Best Keyboard and Pagination for the Pyrogram Library.
- Host: GitHub
- URL: https://github.com/pystorage/pykeyboard
- Owner: pystorage
- License: mit
- Created: 2020-06-10T03:21:19.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-08-07T16:34:23.000Z (over 1 year ago)
- Last Synced: 2024-11-14T13:59:39.823Z (3 months ago)
- Topics: bot, keyboard, pagination, pyrogram, telegram, userbot
- Language: Python
- Homepage:
- Size: 317 KB
- Stars: 80
- Watchers: 2
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
![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)
🎉 Thank you for 1M downloads 🎉 I love you...🥰
# 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)
- [Languages inline keyboard](#languages-inline-keyboard)
- [Reply Keyboard](#reply-keyboard)
- [Reply Keyboard add buttons](#reply-keyboard-add-buttons)
- [Reply Keyboard row buttons](#reply-keyboard-row-buttons)# What's new?
- Overriding the KeyboardButton, ReplyKeyboardRemove, ForceReply, InlineKeyboardButton methods in ReplyButton, ReplyKeyboardRemove, ForceReply, InlineButton.
- Added new method InlineKeyboard. To send language selection keyboard.
- Minor changes due to update in Pyrogram.# 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, InlineButtonkeyboard = 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
### Inline Keyboard row buttons
#### Code
```python
from pykeyboard import InlineKeyboard, InlineButtonkeyboard = 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
### 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 InlineKeyboardkeyboard = InlineKeyboard()
keyboard.paginate(3, 3, 'pagination_keyboard:{number}')
```#### Result
#### Pagination 5 pages
#### Code
```python
from pykeyboard import InlineKeyboardkeyboard = InlineKeyboard()
keyboard.paginate(5, 3, 'pagination_keyboard:{number}')
```#### Result
#### Pagination 9 pages
#### Code
```python
from pykeyboard import InlineKeyboardkeyboard = InlineKeyboard()
keyboard.paginate(9, 5, 'pagination_keyboard:{number}')
```#### Result
#### Pagination 100 pages
#### Code
```python
from pykeyboard import InlineKeyboardkeyboard = InlineKeyboard()
keyboard.paginate(100, 100, 'pagination_keyboard:{number}')
```#### Result
#### Pagination 150 pages and buttons
#### Code
```python
from pykeyboard import InlineKeyboard, InlineButtonkeyboard = InlineKeyboard()
keyboard.paginate(150, 123, 'pagination_keyboard:{number}')
keyboard.row(
InlineButton('Back', 'pagination_keyboard:back'),
InlineButton('Close', 'pagination_keyboard:close')
)
```#### Result
### Languages inline keyboard
```python
from pykeyboard import InlineKeyboard
```#### Parameters:
- callback_pattern (string) - use of the `{locale}` pattern is required
- locales (string | list) - list of language codes
- be_BY - Belarusian
- de_DE - German
- zh_CN - Chinese
- en_US - English
- fr_FR - French
- id_ID - Indonesian
- it_IT - Italian
- ko_KR - Korean
- tr_TR - Turkish
- ru_RU - Russian
- es_ES - Spanish
- uk_UA - Ukrainian
- uz_UZ - Uzbek
- row_width (integer, default 2)P.S. To add new languages, write to me in @PyMaster telegram.
#### Code
```python
from pykeyboard import InlineKeyboardkeyboard = InlineKeyboard(row_width=3)
keyboard.languages(
'languages:{locale}', ['en_US', 'ru_RU', 'id_ID'], 2
)
```#### Result
## 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, ReplyButtonkeyboard = 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
### Reply Keyboard row buttons
#### Code
```python
from pykeyboard import ReplyKeyboard, ReplyButtonkeyboard = 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