Factory Presets
One-liner keyboard presets with KeyboardFactory. Create common keyboard patterns without manual button construction.
Available Presets
| Method | Description |
|---|---|
confirmation(yes, no, pattern) | Two-button yes/no keyboard |
menu(items, pattern, row_width) | Grid menu from a list of labels |
rating(max_stars, pattern) | Star rating keyboard (⭐️ buttons) |
pagination(pages, current, pattern) | Pagination controls |
language(locales, pattern) | Language selection keyboard |
Examples
Confirmation dialog
from pykeyboard import KeyboardFactory
kb = KeyboardFactory.confirmation(
yes_text="✅ Confirm",
no_text="❌ Cancel",
callback_pattern="confirm_{}", # {} → "yes" or "no"
)
await message.reply("Are you sure?", reply_markup=kb)Star rating
kb = KeyboardFactory.rating(
max_stars=5,
callback_pattern="rate_{}", # {} → 1-5
)
# Produces: [⭐] [⭐⭐] [⭐⭐⭐] [⭐⭐⭐⭐] [⭐⭐⭐⭐⭐]Quick menu
kb = KeyboardFactory.menu(
items=["Profile", "Settings", "Help", "About"],
callback_pattern="menu_{}",
row_width=2,
)