pub struct KeyboardMarkup {
pub keyboard: Vec<Vec<KeyboardButton>>,
pub is_persistent: bool,
pub resize_keyboard: Option<bool>,
pub one_time_keyboard: Option<bool>,
pub input_field_placeholder: Option<String>,
pub selective: Option<bool>,
}
Expand description
This object represents a custom keyboard with reply options (see Introduction to bots for details and examples).
Fields§
§keyboard: Vec<Vec<KeyboardButton>>
Array of button rows, each represented by an Array of
KeyboardButton
objects
is_persistent: bool
Requests clients to always show the keyboard when the regular keyboard
is hidden. Defaults to false
, in which case the custom keyboard
can be hidden and opened with a keyboard icon.
resize_keyboard: Option<bool>
Requests clients to resize the keyboard vertically for optimal fit
(e.g., make the keyboard smaller if there are just two rows of
buttons). Defaults to false
, in which case the custom keyboard is
always of the same height as the app’s standard keyboard.
one_time_keyboard: Option<bool>
Requests clients to hide the keyboard as soon as it’s been used. The
keyboard will still be available, but clients will automatically
display the usual letter-keyboard in the chat – the user can press a
special button in the input field to see the custom keyboard again.
Defaults to false
.
input_field_placeholder: Option<String>
The placeholder to be shown in the input field when the keyboard is active; 1-64 characters.
selective: Option<bool>
Use this parameter if you want to show the keyboard to specific users
only. Targets: 1) users that are @mentioned
in the text
of the
Message
object; 2) if the bot’s message is a reply (has
reply_to_message_id
), sender of the original message.
Example: A user requests to change the bot‘s language, bot replies to the request with a keyboard to select the new language. Other users in the group don’t see the keyboard.
Implementations§
Source§impl KeyboardMarkup
impl KeyboardMarkup
pub fn new<K>(keyboard: K) -> Self
pub fn append_row<R>(self, buttons: R) -> Selfwhere
R: IntoIterator<Item = KeyboardButton>,
pub fn append_to_row(self, index: usize, button: KeyboardButton) -> Self
Sourcepub fn persistent(self) -> Self
pub fn persistent(self) -> Self
Sets is_persistent
to true
.
pub fn resize_keyboard<T>(self, val: T) -> Self
pub fn one_time_keyboard<T>(self, val: T) -> Self
pub fn input_field_placeholder<T>(self, val: T) -> Self
pub fn selective<T>(self, val: T) -> Self
Trait Implementations§
Source§impl Clone for KeyboardMarkup
impl Clone for KeyboardMarkup
Source§fn clone(&self) -> KeyboardMarkup
fn clone(&self) -> KeyboardMarkup
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for KeyboardMarkup
impl Debug for KeyboardMarkup
Source§impl Default for KeyboardMarkup
impl Default for KeyboardMarkup
Source§fn default() -> KeyboardMarkup
fn default() -> KeyboardMarkup
Source§impl<'de> Deserialize<'de> for KeyboardMarkup
impl<'de> Deserialize<'de> for KeyboardMarkup
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 From<KeyboardMarkup> for ReplyMarkup
impl From<KeyboardMarkup> for ReplyMarkup
Source§fn from(original: KeyboardMarkup) -> ReplyMarkup
fn from(original: KeyboardMarkup) -> ReplyMarkup
Source§impl Hash for KeyboardMarkup
impl Hash for KeyboardMarkup
Source§impl PartialEq for KeyboardMarkup
impl PartialEq for KeyboardMarkup
Source§impl Serialize for KeyboardMarkup
impl Serialize for KeyboardMarkup
impl Eq for KeyboardMarkup
impl StructuralPartialEq for KeyboardMarkup
Auto Trait Implementations§
impl Freeze for KeyboardMarkup
impl RefUnwindSafe for KeyboardMarkup
impl Send for KeyboardMarkup
impl Sync for KeyboardMarkup
impl Unpin for KeyboardMarkup
impl UnwindSafe for KeyboardMarkup
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Erasable for T
impl<T> Erasable for T
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