pub struct Bot { /* private fields */ }

Implementations§

source§

impl Bot

source

pub fn new<'a>(api_key: String) -> Bot

source

pub fn start_polling(&mut self, tx: Sender<Update>)

start_polling is used to get updates from the bot.

let (tx, rx) = mpsc::channel();
bot.start_polling(tx);
let received = rx.recv().unwrap();
println!("Got: {}", received);
source

pub fn get_updates( &mut self, limit: Option<i32>, timeout: Option<i32>, allowed_updates: Option<Vec<String>> ) -> Option<Vec<Update>>

source

pub fn get_me(&mut self) -> User

source

pub fn send_message( &mut self, chat_id: i64, text: String, parse_mode: Option<String>, entities: Option<Vec<MessageEntity>>, disable_web_page_preview: Option<bool>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn forward_message( &mut self, chat_id: i64, from_chat_id: i64, message_id: i32, disable_notification: Option<bool> ) -> Option<Message>

source

pub fn copy_message( &mut self, chat_id: i64, from_chat_id: i64, message_id: i32, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> i32

source

pub fn send_photo( &mut self, chat_id: i64, photo: String, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_audio( &mut self, chat_id: i64, audio: String, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, duration: Option<i32>, performer: Option<String>, title: Option<String>, thumb: Option<String>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_document( &mut self, chat_id: i64, document: String, thumb: Option<String>, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, disable_content_type_detection: Option<bool>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_video( &mut self, chat_id: i64, video: String, duration: Option<i32>, width: Option<i32>, height: Option<i32>, thumb: Option<String>, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, supports_streaming: Option<bool>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_animation( &mut self, chat_id: i64, animation: String, duration: Option<i32>, width: Option<i32>, height: Option<i32>, thumb: Option<String>, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_voice( &mut self, chat_id: i64, voice: String, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, duration: Option<i32>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_video_note( &mut self, chat_id: i64, video_note: String, duration: Option<i32>, length: Option<i32>, thumb: Option<String>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_media_group( &mut self, chat_id: i64, media: Vec<InputMedia>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool> ) -> Option<Vec<Message>>

source

pub fn send_location( &mut self, chat_id: i64, latitude: f64, longitude: f64, horizontal_accuracy: Option<f64>, live_period: Option<i32>, heading: Option<i32>, proximity_alert_radius: Option<i32>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn edit_message_live_location( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, latitude: f64, longitude: f64, horizontal_accuracy: Option<f64>, heading: Option<i32>, proximity_alert_radius: Option<i32>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn stop_message_live_location( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn send_venue( &mut self, chat_id: i64, latitude: f64, longitude: f64, title: String, address: String, foursquare_id: Option<String>, foursquare_type: Option<String>, google_place_id: Option<String>, google_place_type: Option<String>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_contact( &mut self, chat_id: i64, phone_number: String, first_name: String, last_name: Option<String>, vcard: Option<String>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_poll( &mut self, chat_id: i64, question: String, options: Vec<String>, is_anonymous: Option<bool>, typ: Option<String>, allows_multiple_answers: Option<bool>, correct_option_id: Option<i32>, explanation: Option<String>, explanation_parse_mode: Option<String>, explanation_entities: Option<Vec<MessageEntity>>, open_period: Option<i32>, close_date: Option<i32>, is_closed: Option<i32>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_dice( &mut self, chat_id: i64, emoji: Option<String>, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn send_chat_action(&mut self, chat_id: i64, action: String) -> bool

source

pub fn get_user_profile_photos( &mut self, user_id: i64, offset: Option<i32>, limit: Option<i32> ) -> Option<UserProfilePhotos>

source

pub fn kick_chat_member( &mut self, chat_id: i64, user_id: i64, until_date: Option<i32>, revoke_messages: Option<bool> ) -> bool

source

pub fn unban_chat_member( &mut self, chat_id: i64, user_id: i64, only_if_banned: Option<bool> ) -> bool

source

pub fn restrict_chat_member( &mut self, chat_id: i64, user_id: i64, permissions: ChatPermissions, until_date: Option<i32> ) -> bool

source

pub fn promote_chat_member( &mut self, chat_id: i64, user_id: i64, is_anonymous: Option<bool>, can_manage_chat: Option<bool>, can_post_messages: Option<bool>, can_edit_messages: Option<bool>, can_delete_messages: Option<bool>, can_manage_voice_chats: Option<bool>, can_restrict_members: Option<bool>, can_promote_members: Option<bool>, can_change_info: Option<bool>, can_invite_users: Option<bool>, can_pin_messages: Option<bool> ) -> bool

source

pub fn set_chat_administrator_custom_title( &mut self, chat_id: i64, user_id: i64, custom_title: String ) -> bool

source

pub fn set_chat_permissions( &mut self, chat_id: i64, permissions: ChatPermissions ) -> bool

source

pub fn delete_chat_photo(&mut self, chat_id: i64) -> bool

source

pub fn set_chat_title(&mut self, chat_id: i64, title: String) -> bool

source

pub fn set_chat_description( &mut self, chat_id: i64, description: String ) -> bool

source

pub fn pin_chat_message( &mut self, chat_id: i64, message_id: i32, disable_notification: Option<bool> ) -> bool

source

pub fn unpin_chat_message(&mut self, chat_id: i64, message_id: i32) -> bool

source

pub fn unpin_all_chat_message(&mut self, chat_id: i64) -> bool

source

pub fn leave_chat(&mut self, chat_id: i64) -> bool

source

pub fn get_chat(&mut self, chat_id: i64) -> Option<Chat>

source

pub fn get_chat_administrators( &mut self, chat_id: i64 ) -> Option<Vec<ChatMember>>

source

pub fn get_chat_chat_members_count(&mut self, chat_id: i64) -> Option<i32>

source

pub fn get_chat_chat_member( &mut self, chat_id: i64, user_id: i64 ) -> Option<ChatMember>

source

pub fn set_chat_sticker_set( &mut self, chat_id: i64, sticker_set_name: String ) -> bool

source

pub fn delete_chat_sticker_set(&mut self, chat_id: i64) -> bool

source

pub fn answer_callback_query( &mut self, callback_query_id: String, text: String, show_alert: Option<bool>, url: Option<String>, cache_time: Option<i32> ) -> bool

source

pub fn set_my_commands(&mut self, commands: Vec<BotCommand>) -> bool

source

pub fn get_my_commands(&mut self) -> Option<Vec<BotCommand>>

source

pub fn edit_message_text( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, text: Option<String>, parse_mode: Option<String>, entities: Option<Vec<MessageEntity>>, disable_web_page_preview: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn edit_message_caption( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, caption: Option<String>, parse_mode: Option<String>, caption_entities: Option<Vec<MessageEntity>>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn edit_message_media( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, media: Option<InputMedia>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn edit_message_reply_markup( &mut self, chat_id: Option<i64>, message_id: Option<i32>, inline_message_id: Option<String>, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Message>

source

pub fn stop_poll( &mut self, chat_id: i64, message_id: i32, reply_markup_ikm: Option<InlineKeyboardMarkup> ) -> Option<Poll>

source

pub fn delete_message(&mut self, chat_id: i64, message_id: i32) -> bool

source

pub fn send_sticker( &mut self, chat_id: i64, sticker: String, disable_notification: Option<bool>, reply_to_message_id: Option<i32>, allow_sending_without_reply: Option<bool>, reply_markup_ikm: Option<InlineKeyboardMarkup>, reply_markup_rkm: Option<ReplyKeyboardMarkup>, reply_markup_rkr: Option<ReplyKeyboardRemove>, reply_markup_fr: Option<ForceReply> ) -> Option<Message>

source

pub fn get_sticker_set(&mut self, name: String) -> Option<StickerSet>

source

pub fn create_new_sticker_set( &mut self, user_id: i64, name: String, title: String, png_sticker: Option<String>, emojis: String, contains_masks: Option<bool>, mask_position: Option<MaskPosition> ) -> bool

source

pub fn add_sticker_to_set( &mut self, user_id: i64, name: String, png_sticker: Option<String>, emojis: String, mask_position: Option<MaskPosition> ) -> bool

source

pub fn add_sticker_position_in_set( &mut self, sticker: String, position: i32 ) -> bool

source

pub fn delete_sticker_from_chat(&mut self, sticker: String) -> bool

source

pub fn set_sticker_thumb( &mut self, name: String, user_id: i64, thumb: Option<String> ) -> bool

Trait Implementations§

source§

impl Clone for Bot

source§

fn clone(&self) -> Self

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

Auto Trait Implementations§

§

impl RefUnwindSafe for Bot

§

impl Send for Bot

§

impl Sync for Bot

§

impl Unpin for Bot

§

impl UnwindSafe for Bot

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more