Struct teloxide::types::KeyboardMarkup
source · pub struct KeyboardMarkup {
pub keyboard: Vec<Vec<KeyboardButton, Global>, Global>,
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, Global>, Global>
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) -> KeyboardMarkupwhere
K: IntoIterator,
<K as IntoIterator>::Item: IntoIterator<Item = KeyboardButton>,
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
.
pub fn resize_keyboard<T>(self, val: T) -> KeyboardMarkupwhere
T: Into<Option<bool>>,
pub fn one_time_keyboard<T>(self, val: T) -> KeyboardMarkupwhere
T: Into<Option<bool>>,
pub fn input_field_placeholder<T>(self, val: T) -> KeyboardMarkupwhere
T: Into<Option<String>>,
pub fn selective<T>(self, val: T) -> KeyboardMarkupwhere
T: Into<Option<bool>>,
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(original: KeyboardMarkup) -> ReplyMarkup
fn from(original: KeyboardMarkup) -> ReplyMarkup
source§impl Hash for KeyboardMarkup
impl Hash for KeyboardMarkup
source§impl PartialEq<KeyboardMarkup> for KeyboardMarkup
impl PartialEq<KeyboardMarkup> for KeyboardMarkup
source§fn eq(&self, other: &KeyboardMarkup) -> bool
fn eq(&self, other: &KeyboardMarkup) -> bool
self
and other
values to be equal, and is used
by ==
.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 StructuralEq for KeyboardMarkup
impl StructuralPartialEq for KeyboardMarkup
Auto Trait Implementations§
impl RefUnwindSafe for KeyboardMarkup
impl Send for KeyboardMarkup
impl Sync for KeyboardMarkup
impl Unpin for KeyboardMarkup
impl UnwindSafe for KeyboardMarkup
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.