pub struct KeyboardMarkup {
pub keyboard: Vec<Vec<KeyboardButton>>,
pub is_persistent: bool,
pub resize_keyboard: bool,
pub one_time_keyboard: bool,
pub input_field_placeholder: String,
pub selective: 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: boolRequests 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: boolRequests 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: boolRequests 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: StringThe placeholder to be shown in the input field when the keyboard is active; 1-64 characters.
selective: boolUse 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) -> KeyboardMarkup
pub fn append_row<R>(self, buttons: R) -> KeyboardMarkupwhere
R: IntoIterator<Item = KeyboardButton>,
pub fn append_to_row( self, index: usize, button: KeyboardButton, ) -> KeyboardMarkup
Sourcepub fn persistent(self) -> KeyboardMarkup
pub fn persistent(self) -> KeyboardMarkup
Sets is_persistent to true.
Sourcepub fn resize_keyboard(self) -> KeyboardMarkup
pub fn resize_keyboard(self) -> KeyboardMarkup
Sets resize_keyboard to true.
Sourcepub fn one_time_keyboard(self) -> KeyboardMarkup
pub fn one_time_keyboard(self) -> KeyboardMarkup
Sets one_time_keyboard to true.
pub fn input_field_placeholder<T>(self, val: T) -> KeyboardMarkup
Sourcepub fn selective(self) -> KeyboardMarkup
pub fn selective(self) -> KeyboardMarkup
Sets selective to true.
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<KeyboardMarkup, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<KeyboardMarkup, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl From<KeyboardMarkup> for ReplyMarkup
impl From<KeyboardMarkup> for ReplyMarkup
Source§fn from(value: KeyboardMarkup) -> ReplyMarkup
fn from(value: 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
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Erasable for T
impl<T> Erasable for 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