From 9dd406c7a45a15fa0d9757cfbd25455ddd322c07 Mon Sep 17 00:00:00 2001 From: Jahongir Qurbonov Date: Tue, 8 Oct 2024 13:08:27 +0500 Subject: [PATCH] Add HiddenKeyboard and ForcedReplyKeyboard custom types --- .../telethon/_impl/client/types/keyboard.py | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/client/src/telethon/_impl/client/types/keyboard.py b/client/src/telethon/_impl/client/types/keyboard.py index d560463c..f6559bd3 100644 --- a/client/src/telethon/_impl/client/types/keyboard.py +++ b/client/src/telethon/_impl/client/types/keyboard.py @@ -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 +)