Enum tgbot::types::InlineKeyboardButtonType
source · pub enum InlineKeyboardButtonType {
CallbackData(String),
CallbackGame,
LoginUrl(LoginUrl),
Pay,
SwitchInlineQuery(String),
SwitchInlineQueryChosenChat(SwitchInlineQueryChosenChat),
SwitchInlineQueryCurrentChat(String),
Url(String),
WebApp(WebAppInfo),
}
Expand description
Represents a type of an inline keyboard button.
Variants§
CallbackData(String)
Data to be sent in a callback query to the bot when button is pressed; 1-64 bytes.
CallbackGame
Description of the game that will be launched when the user presses the button.
§Notes
This type of button must always be the first button in the first row.
LoginUrl(LoginUrl)
An HTTP URL used to automatically authorize the user.
Can be used as a replacement for the Telegram Login Widget.
Pay
SwitchInlineQuery(String)
Pressing the button will prompt the user to select one of their chats, open that chat and insert the bot‘s username and the specified inline query in the input field.
Can be empty, in which case just the bot’s username will be inserted.
§Notes
This offers an easy way for users to start using your bot in inline mode when they are currently in a private chat with it.
Especially useful when combined with switch_pm… actions – in this case the user will be automatically returned to the chat they switched from, skipping the chat selection screen.
SwitchInlineQueryChosenChat(SwitchInlineQueryChosenChat)
Pressing the button will prompt the user to select one of their chats of the specified type, open that chat and insert the bot username and the specified inline query in the input field.
SwitchInlineQueryCurrentChat(String)
Pressing the button will insert the bot‘s username and the specified inline query in the current chat’s input field.
Can be empty, in which case only the bot’s username will be inserted. 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.
Url(String)
HTTP or tg:// url to be opened when button is pressed.
WebApp(WebAppInfo)
Description of the Web App that will be launched when the user presses the button.
The Web App will be able to send an arbitrary message on behalf
of the user using the method crate::types::AnswerWebAppQuery
.
Available only in private chats between a user and the bot.
Trait Implementations§
source§impl Clone for InlineKeyboardButtonType
impl Clone for InlineKeyboardButtonType
source§fn clone(&self) -> InlineKeyboardButtonType
fn clone(&self) -> InlineKeyboardButtonType
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for InlineKeyboardButtonType
impl Debug for InlineKeyboardButtonType
source§impl<'de> Deserialize<'de> for InlineKeyboardButtonType
impl<'de> Deserialize<'de> for InlineKeyboardButtonType
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl PartialEq for InlineKeyboardButtonType
impl PartialEq for InlineKeyboardButtonType
source§fn eq(&self, other: &InlineKeyboardButtonType) -> bool
fn eq(&self, other: &InlineKeyboardButtonType) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for InlineKeyboardButtonType
impl Serialize for InlineKeyboardButtonType
impl StructuralPartialEq for InlineKeyboardButtonType
Auto Trait Implementations§
impl Freeze for InlineKeyboardButtonType
impl RefUnwindSafe for InlineKeyboardButtonType
impl Send for InlineKeyboardButtonType
impl Sync for InlineKeyboardButtonType
impl Unpin for InlineKeyboardButtonType
impl UnwindSafe for InlineKeyboardButtonType
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more