pub struct Bot { /* private fields */ }
Implementations§
Source§impl Bot
impl Bot
pub fn new<'a>(api_key: String) -> Bot
Sourcepub fn start_polling(
&mut self,
tx: Sender<Update>,
) -> Result<JoinHandle<()>, Box<dyn Error>>
pub fn start_polling( &mut self, tx: Sender<Update>, ) -> Result<JoinHandle<()>, Box<dyn Error>>
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);
pub fn get_updates( &mut self, limit: Option<i32>, timeout: Option<i32>, allowed_updates: Option<Vec<String>>, ) -> Option<Vec<Update>>
pub fn get_me(&mut self) -> User
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>
pub fn forward_message( &mut self, chat_id: i64, from_chat_id: i64, message_id: i32, disable_notification: Option<bool>, ) -> Option<Message>
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
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>
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>
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>
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>
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>
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>
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>
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>>
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>
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>
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>
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>
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>
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>
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>
pub fn send_chat_action(&mut self, chat_id: i64, action: String) -> bool
pub fn get_user_profile_photos( &mut self, user_id: i64, offset: Option<i32>, limit: Option<i32>, ) -> Option<UserProfilePhotos>
pub fn kick_chat_member( &mut self, chat_id: i64, user_id: i64, until_date: Option<i32>, revoke_messages: Option<bool>, ) -> bool
pub fn unban_chat_member( &mut self, chat_id: i64, user_id: i64, only_if_banned: Option<bool>, ) -> bool
pub fn restrict_chat_member( &mut self, chat_id: i64, user_id: i64, permissions: ChatPermissions, until_date: Option<i32>, ) -> bool
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
pub fn set_chat_administrator_custom_title( &mut self, chat_id: i64, user_id: i64, custom_title: String, ) -> bool
pub fn set_chat_permissions( &mut self, chat_id: i64, permissions: ChatPermissions, ) -> bool
pub fn export_chat_invite_link(&mut self, chat_id: i64) -> Option<String>
pub fn create_chat_invite_link( &mut self, chat_id: i64, expire_date: Option<i32>, member_limit: Option<i32>, ) -> Option<ChatInviteLink>
pub fn edit_chat_invite_link( &mut self, chat_id: i64, invite_link: String, expire_date: Option<i32>, member_limit: Option<i32>, ) -> Option<ChatInviteLink>
pub fn revoke_chat_invite_link( &mut self, chat_id: i64, invite_link: String, ) -> Option<ChatInviteLink>
pub fn delete_chat_photo(&mut self, chat_id: i64) -> bool
pub fn set_chat_title(&mut self, chat_id: i64, title: String) -> bool
pub fn set_chat_description( &mut self, chat_id: i64, description: String, ) -> bool
pub fn pin_chat_message( &mut self, chat_id: i64, message_id: i32, disable_notification: Option<bool>, ) -> bool
pub fn unpin_chat_message(&mut self, chat_id: i64, message_id: i32) -> bool
pub fn unpin_all_chat_message(&mut self, chat_id: i64) -> bool
pub fn leave_chat(&mut self, chat_id: i64) -> bool
pub fn get_chat(&mut self, chat_id: i64) -> Option<Chat>
pub fn get_chat_administrators( &mut self, chat_id: i64, ) -> Option<Vec<ChatMember>>
pub fn get_chat_chat_members_count(&mut self, chat_id: i64) -> Option<i32>
pub fn get_chat_chat_member( &mut self, chat_id: i64, user_id: i64, ) -> Option<ChatMember>
pub fn set_chat_sticker_set( &mut self, chat_id: i64, sticker_set_name: String, ) -> bool
pub fn delete_chat_sticker_set(&mut self, chat_id: i64) -> bool
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
pub fn set_my_commands(&mut self, commands: Vec<BotCommand>) -> bool
pub fn get_my_commands(&mut self) -> Option<Vec<BotCommand>>
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>
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>
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>
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>
pub fn stop_poll( &mut self, chat_id: i64, message_id: i32, reply_markup_ikm: Option<InlineKeyboardMarkup>, ) -> Option<Poll>
pub fn delete_message(&mut self, chat_id: i64, message_id: i32) -> bool
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>
pub fn get_sticker_set(&mut self, name: String) -> Option<StickerSet>
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
pub fn add_sticker_to_set( &mut self, user_id: i64, name: String, png_sticker: Option<String>, emojis: String, mask_position: Option<MaskPosition>, ) -> bool
pub fn add_sticker_position_in_set( &mut self, sticker: String, position: i32, ) -> bool
pub fn delete_sticker_from_chat(&mut self, sticker: String) -> bool
pub fn set_sticker_thumb( &mut self, name: String, user_id: i64, thumb: Option<String>, ) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Bot
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> 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
Mutably borrows from an owned value. Read more