

ReplyInlineMarkup#48a30254 rows: Vector = ReplyMarkup ReplyKeyboardMarkup#85dd99d1 flags: # resize:flags.0? true single_use:flags.1? true selective:flags.2? true rows: Vector placeholder:flags.3? string = ReplyMarkup ReplyKeyboardForceReply#86b40b08 flags: # single_use:flags.1? true selective:flags.2? true placeholder:flags.3? string = ReplyMarkup ReplyKeyboardHide#a03e5b85 flags: # selective:flags.2? true = ReplyMarkup
:max_bytes(150000):strip_icc()/RedButton_LeftArrow.svg-58014c285f9b5805c222f65f.png)
KeyboardButtonRow#77608b83 buttons: Vector = KeyboardButtonRow

KeyboardButtonRequestPoll#bbc7515d flags: # quiz:flags.0? Bool text: string = KeyboardButton InputKeyboardButtonUrlAuth#d02e7fd4 flags: # request_write_access:flags.0? true text: string fwd_text:flags.1? string url: string bot: InputUser = KeyboardButton KeyboardButtonUrlAuth#10b78d29 flags: # text: string fwd_text:flags.0? string url: string button_id: int = KeyboardButton KeyboardButtonBuy#afd93fbb text: string = KeyboardButton KeyboardButtonGame#50f41ccf text: string = KeyboardButton KeyboardButtonSwitchInline#568a748 flags: # same_peer:flags.0? true text: string query: string = KeyboardButton KeyboardButtonRequestGeoLocation#fc796b3f text: string = KeyboardButton KeyboardButtonRequestPhone#b16a6c29 text: string = KeyboardButton KeyboardButtonCallback#35bbdb6b flags: # requires_password:flags.0? true text: string data: bytes = KeyboardButton KeyboardButtonUrl#258aff05 text: string url: string = KeyboardButton Buttons keyboardButton#a2fa4880 text: string = KeyboardButton This article describes the full button flow, using the MTProto API.įor a simplified description using the HTTP bot API, see here ».

Users can interact with your bot via buttons or even inline buttons, straight from inline messages in any chat.
