Source code for telegram_framework.keyboards.inline.keyboards

from typing import List
from dataclasses import dataclass, field, replace
from telegram_framework.keyboards import layouts


[docs] @dataclass(frozen=True) class Keyboard: buttons: List = field(default_factory=list) layout: layouts.Layout = field(default_factory=layouts.default_layout) def __len__(self): return len(self.buttons)
[docs] def add_button(keyboard, button): new_buttons = keyboard.buttons + [button] return replace(keyboard, buttons=new_buttons)
[docs] def add_buttons(keyboard, buttons): new_buttons = keyboard.buttons + buttons return replace(keyboard, buttons=new_buttons)