Struct telegram_api_rs::methods::Bot
source · 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>)
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);
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 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