diff --git a/src/types/inline_keyboard_button.rs b/src/types/inline_keyboard_button.rs index 67310c80..c6b3b039 100644 --- a/src/types/inline_keyboard_button.rs +++ b/src/types/inline_keyboard_button.rs @@ -1,3 +1,4 @@ +use crate::types::{CallbackGame, LoginUrl}; use serde::{Deserialize, Serialize}; /// This object represents one button of an inline keyboard. @@ -18,6 +19,12 @@ pub enum InlineKeyboardButtonKind { /// HTTP or tg:// url to be opened when button is pressed. Url(String), + /// An HTTP URL used to automatically authorize the user. Can be used as a + /// replacement for the [Telegram Login Widget](). + /// + /// [Telegram Login Widget]: https://core.telegram.org/widgets/login + LoginUrl(LoginUrl), + /// Data to be sent in a [`CallbackQuery`] to the bot when button is /// pressed, 1-64 bytes. /// @@ -47,8 +54,23 @@ pub enum InlineKeyboardButtonKind { ///This offers a quick way for the user to open your bot in inline mode in /// the same chat – good for selecting something from multiple options. SwitchInlineQueryCurrentChat(String), - /* CallbackGame(CallbackGame), TODO: разобраться, что с этим делать - * TODO: add LoginUrl, pay */ + + /// Description of the game that will be launched when the user presses the + /// button. + /// + /// ## Note + /// This type of button **must** always be the first button in the first + /// row. + CallbackGame(CallbackGame), + + /// Specify True, to send a [Pay button]. + /// + /// ## Note + /// This type of button **must** always be the first button in the first + /// row. + /// + /// [Pay button]: https://core.telegram.org/bots/api#payments + Pay(bool), } /// Build buttons.