Factory Presets

One-liner keyboard presets with KeyboardFactory. Create common keyboard patterns without manual button construction.

Available Presets

MethodDescription
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,
)