Add HiddenKeyboard and ForcedReplyKeyboard custom types

This commit is contained in:
Jahongir Qurbonov 2024-10-08 13:08:27 +05:00
parent 12278cebb5
commit 9dd406c7a4

View File

@ -55,4 +55,24 @@ class InlineKeyboard:
self._raw = types.ReplyInlineMarkup(rows=_build_keyboard_rows(buttons))
KeyboardType: TypeAlias = Keyboard | InlineKeyboard
class HiddenKeyboard:
__slots__ = ("_raw",)
def __init__(self, selective: bool) -> None:
self._raw = types.ReplyKeyboardHide(selective=selective)
class ForcedReplyKeyboard:
__slots__ = ("_raw",)
def __init__(
self, single_use: bool, selective: bool, placeholder: Optional[str]
) -> None:
self._raw = types.ReplyKeyboardForceReply(
single_use=single_use, selective=selective, placeholder=placeholder
)
KeyboardType: TypeAlias = (
Keyboard | InlineKeyboard | HiddenKeyboard | ForcedReplyKeyboard
)