#[macro_use]
extern crate serde_derive;
extern crate serde;
extern crate serde_json;
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Update {
pub update_id: i64,
pub message: Option<Message>,
pub edited_message: Option<Message>,
pub channel_post: Option<Message>,
pub edited_channel_post: Option<Message>,
pub inline_query: Option<InlineQuery>,
pub chosen_inline_result: Option<ChosenInlineResult>,
pub callback_query: Option<CallbackQuery>,
pub shipping_query: Option<ShippingQuery>,
pub pre_checkout_query: Option<PreCheckoutQuery>,
pub poll: Option<Poll>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct WebhookInfo {
pub url: String,
pub has_custom_certificate: bool,
pub pending_update_count: i64,
pub last_error_date: Option<i64>,
pub last_error_message: Option<String>,
pub max_connections: Option<i64>,
pub allowed_updates: Option<Vec<String>>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct User {
pub id: i64,
pub is_bot: bool,
pub first_name: String,
pub last_name: Option<String>,
pub username: Option<String>,
pub language_code: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Chat {
pub id: i64,
#[serde(rename = "type")]
pub ty: String,
pub title: Option<String>,
pub username: Option<String>,
pub first_name: Option<String>,
pub last_name: Option<String>,
pub all_members_are_administrators: Option<bool>,
pub photo: Option<ChatPhoto>,
pub description: Option<String>,
pub invite_link: Option<String>,
pub pinned_message: Option<Box<Message>>,
pub sticker_set_name: Option<String>,
pub can_set_sticker_set: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Message {
pub message_id: i64,
pub from: Option<User>,
pub date: i64,
pub chat: Chat,
pub forward_from: Option<User>,
pub forward_from_chat: Option<Chat>,
pub forward_from_message_id: Option<i64>,
pub forward_signature: Option<String>,
pub forward_sender_name: Option<String>,
pub forward_date: Option<i64>,
pub reply_to_message: Option<Box<Message>>,
pub edit_date: Option<i64>,
pub media_group_id: Option<String>,
pub author_signature: Option<String>,
pub text: Option<String>,
pub entities: Option<Vec<MessageEntity>>,
pub caption_entities: Option<Vec<MessageEntity>>,
pub audio: Option<Audio>,
pub document: Option<Document>,
pub animation: Option<Animation>,
pub game: Option<Game>,
pub photo: Option<Vec<PhotoSize>>,
pub sticker: Option<Sticker>,
pub video: Option<Video>,
pub voice: Option<Voice>,
pub video_note: Option<VideoNote>,
pub caption: Option<String>,
pub contact: Option<Contact>,
pub location: Option<Location>,
pub venue: Option<Venue>,
pub poll: Option<Poll>,
pub new_chat_members: Option<Vec<User>>,
pub left_chat_member: Option<User>,
pub new_chat_title: Option<String>,
pub new_chat_photo: Option<Vec<PhotoSize>>,
pub delete_chat_photo: Option<bool>,
pub group_chat_created: Option<bool>,
pub supergroup_chat_created: Option<bool>,
pub channel_chat_created: Option<bool>,
pub migrate_to_chat_id: Option<i64>,
pub migrate_from_chat_id: Option<i64>,
pub pinned_message: Option<Box<Message>>,
pub invoice: Option<Invoice>,
pub successful_payment: Option<SuccessfulPayment>,
pub connected_website: Option<String>,
pub passport_data: Option<PassportData>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct MessageEntity {
#[serde(rename = "type")]
pub ty: String,
pub offset: i64,
pub length: i64,
pub url: Option<String>,
pub user: Option<User>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PhotoSize {
pub file_id: String,
pub width: i64,
pub height: i64,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Audio {
pub file_id: String,
pub duration: i64,
pub performer: Option<String>,
pub title: Option<String>,
pub mime_type: Option<String>,
pub file_size: Option<i64>,
pub thumb: Option<PhotoSize>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Document {
pub file_id: String,
pub thumb: Option<PhotoSize>,
pub file_name: Option<String>,
pub mime_type: Option<String>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Video {
pub file_id: String,
pub width: i64,
pub height: i64,
pub duration: i64,
pub thumb: Option<PhotoSize>,
pub mime_type: Option<String>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Animation {
pub file_id: String,
pub width: i64,
pub height: i64,
pub duration: i64,
pub thumb: Option<PhotoSize>,
pub file_name: Option<String>,
pub mime_type: Option<String>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Voice {
pub file_id: String,
pub duration: i64,
pub mime_type: Option<String>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct VideoNote {
pub file_id: String,
pub length: i64,
pub duration: i64,
pub thumb: Option<PhotoSize>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Contact {
pub phone_number: String,
pub first_name: String,
pub last_name: Option<String>,
pub user_id: Option<i64>,
pub vcard: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Location {
pub longitude: f64,
pub latitude: f64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Venue {
pub location: Location,
pub title: String,
pub address: String,
pub foursquare_id: Option<String>,
pub foursquare_type: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PollOption {
pub text: String,
pub voter_count: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Poll {
pub id: String,
pub question: String,
pub options: Vec<PollOption>,
pub is_closed: bool,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct UserProfilePhotos {
pub total_count: i64,
pub photos: Vec<Vec<PhotoSize>>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct File {
pub file_id: String,
pub file_size: Option<i64>,
pub file_path: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ReplyKeyboardMarkup {
pub keyboard: Vec<Vec<KeyboardButton>>,
pub resize_keyboard: Option<bool>,
pub one_time_keyboard: Option<bool>,
pub selective: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct KeyboardButton {
pub text: String,
pub request_contact: Option<bool>,
pub request_location: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ReplyKeyboardRemove {
pub remove_keyboard: bool,
pub selective: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineKeyboardMarkup {
pub inline_keyboard: Vec<Vec<InlineKeyboardButton>>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineKeyboardButton {
pub text: String,
pub url: Option<String>,
pub login_url: Option<LoginUrl>,
pub callback_data: Option<String>,
pub switch_inline_query: Option<String>,
pub switch_inline_query_current_chat: Option<String>,
pub callback_game: Option<String>,
pub pay: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct LoginUrl {
pub url: String,
pub forward_text: Option<String>,
pub bot_username: Option<String>,
pub request_write_access: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct CallbackQuery {
pub id: String,
pub from: User,
pub message: Option<Message>,
pub inline_message_id: Option<String>,
pub chat_instance: String,
pub data: Option<String>,
pub game_short_name: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ForceReply {
pub force_reply: bool,
pub selective: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ChatPhoto {
pub small_file_id: String,
pub big_file_id: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ChatMember {
pub user: User,
pub status: String,
pub until_date: Option<i64>,
pub can_be_edited: Option<bool>,
pub can_change_info: Option<bool>,
pub can_post_messages: Option<bool>,
pub can_edit_messages: Option<bool>,
pub can_delete_messages: Option<bool>,
pub can_invite_users: Option<bool>,
pub can_restrict_members: Option<bool>,
pub can_pin_messages: Option<bool>,
pub can_promote_members: Option<bool>,
pub is_member: Option<bool>,
pub can_send_messages: Option<bool>,
pub can_send_media_messages: Option<bool>,
pub can_send_other_messages: Option<bool>,
pub can_add_web_page_previews: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ResponseParameters {
pub migrate_to_chat_id: Option<i64>,
pub retry_after: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum InputMedia {
InputMediaAnimation(InputMediaAnimation),
InputMediaDocument(InputMediaDocument),
InputMediaAudio(InputMediaAudio),
InputMediaPhoto(InputMediaPhoto),
InputMediaVideo(InputMediaVideo),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputMediaPhoto {
#[serde(rename = "type")]
pub ty: String,
pub media: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputMediaVideo {
#[serde(rename = "type")]
pub ty: String,
pub media: String,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub width: Option<i64>,
pub height: Option<i64>,
pub duration: Option<i64>,
pub supports_streaming: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputMediaAnimation {
#[serde(rename = "type")]
pub ty: String,
pub media: String,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub width: Option<i64>,
pub height: Option<i64>,
pub duration: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputMediaAudio {
#[serde(rename = "type")]
pub ty: String,
pub media: String,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub duration: Option<i64>,
pub performer: Option<String>,
pub title: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputMediaDocument {
#[serde(rename = "type")]
pub ty: String,
pub media: String,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Sticker {
pub file_id: String,
pub width: i64,
pub height: i64,
pub thumb: Option<PhotoSize>,
pub emoji: Option<String>,
pub set_name: Option<String>,
pub mask_position: Option<MaskPosition>,
pub file_size: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct StickerSet {
pub name: String,
pub title: String,
pub contains_masks: bool,
pub stickers: Vec<Sticker>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct MaskPosition {
pub point: String,
pub x_shift: f64,
pub y_shift: f64,
pub scale: f64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQuery {
pub id: String,
pub from: User,
pub location: Option<Location>,
pub query: String,
pub offset: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum InlineQueryResult {
InlineQueryResultCachedAudio(InlineQueryResultCachedAudio),
InlineQueryResultCachedDocument(InlineQueryResultCachedDocument),
InlineQueryResultCachedGif(InlineQueryResultCachedGif),
InlineQueryResultCachedMpeg4Gif(InlineQueryResultCachedMpeg4Gif),
InlineQueryResultCachedPhoto(InlineQueryResultCachedPhoto),
InlineQueryResultCachedSticker(InlineQueryResultCachedSticker),
InlineQueryResultCachedVideo(InlineQueryResultCachedVideo),
InlineQueryResultCachedVoice(InlineQueryResultCachedVoice),
InlineQueryResultArticle(InlineQueryResultArticle),
InlineQueryResultAudio(InlineQueryResultAudio),
InlineQueryResultContact(InlineQueryResultContact),
InlineQueryResultGame(InlineQueryResultGame),
InlineQueryResultDocument(InlineQueryResultDocument),
InlineQueryResultGif(InlineQueryResultGif),
InlineQueryResultLocation(InlineQueryResultLocation),
InlineQueryResultMpeg4Gif(InlineQueryResultMpeg4Gif),
InlineQueryResultPhoto(InlineQueryResultPhoto),
InlineQueryResultVenue(InlineQueryResultVenue),
InlineQueryResultVideo(InlineQueryResultVideo),
InlineQueryResultVoice(InlineQueryResultVoice),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultArticle {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub title: String,
pub input_message_content: InputMessageContent,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub url: Option<String>,
pub hide_url: Option<bool>,
pub description: Option<String>,
pub thumb_url: Option<String>,
pub thumb_width: Option<i64>,
pub thumb_height: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultPhoto {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub photo_url: String,
pub thumb_url: String,
pub photo_width: Option<i64>,
pub photo_height: Option<i64>,
pub title: Option<String>,
pub description: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultGif {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub gif_url: String,
pub gif_width: Option<i64>,
pub gif_height: Option<i64>,
pub gif_duration: Option<i64>,
pub thumb_url: String,
pub title: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultMpeg4Gif {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub mpeg4_url: String,
pub mpeg4_width: Option<i64>,
pub mpeg4_height: Option<i64>,
pub mpeg4_duration: Option<i64>,
pub thumb_url: String,
pub title: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultVideo {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub video_url: String,
pub mime_type: String,
pub thumb_url: String,
pub title: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub video_width: Option<i64>,
pub video_height: Option<i64>,
pub video_duration: Option<i64>,
pub description: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultAudio {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub audio_url: String,
pub title: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub performer: Option<String>,
pub audio_duration: Option<i64>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultVoice {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub voice_url: String,
pub title: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub voice_duration: Option<i64>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultDocument {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub title: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub document_url: String,
pub mime_type: String,
pub description: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
pub thumb_url: Option<String>,
pub thumb_width: Option<i64>,
pub thumb_height: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultLocation {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub latitude: f64,
pub longitude: f64,
pub title: String,
pub live_period: Option<i64>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
pub thumb_url: Option<String>,
pub thumb_width: Option<i64>,
pub thumb_height: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultVenue {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub latitude: f64,
pub longitude: f64,
pub title: String,
pub address: String,
pub foursquare_id: Option<String>,
pub foursquare_type: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
pub thumb_url: Option<String>,
pub thumb_width: Option<i64>,
pub thumb_height: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultContact {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub phone_number: String,
pub first_name: String,
pub last_name: Option<String>,
pub vcard: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
pub thumb_url: Option<String>,
pub thumb_width: Option<i64>,
pub thumb_height: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultGame {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub game_short_name: String,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedPhoto {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub photo_file_id: String,
pub title: Option<String>,
pub description: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedGif {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub gif_file_id: String,
pub title: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedMpeg4Gif {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub mpeg4_file_id: String,
pub title: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedSticker {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub sticker_file_id: String,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedDocument {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub title: String,
pub document_file_id: String,
pub description: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedVideo {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub video_file_id: String,
pub title: String,
pub description: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedVoice {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub voice_file_id: String,
pub title: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InlineQueryResultCachedAudio {
#[serde(rename = "type")]
pub ty: String,
pub id: String,
pub audio_file_id: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
pub input_message_content: Option<InputMessageContent>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum InputMessageContent {
InputTextMessageContent(InputTextMessageContent),
InputLocationMessageContent(InputLocationMessageContent),
InputVenueMessageContent(InputVenueMessageContent),
InputContactMessageContent(InputContactMessageContent),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputTextMessageContent {
pub message_text: String,
pub parse_mode: Option<String>,
pub disable_web_page_preview: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputLocationMessageContent {
pub latitude: f64,
pub longitude: f64,
pub live_period: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputVenueMessageContent {
pub latitude: f64,
pub longitude: f64,
pub title: String,
pub address: String,
pub foursquare_id: Option<String>,
pub foursquare_type: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct InputContactMessageContent {
pub phone_number: String,
pub first_name: String,
pub last_name: Option<String>,
pub vcard: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ChosenInlineResult {
pub result_id: String,
pub from: User,
pub location: Option<Location>,
pub inline_message_id: Option<String>,
pub query: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct LabeledPrice {
pub label: String,
pub amount: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Invoice {
pub title: String,
pub description: String,
pub start_parameter: String,
pub currency: String,
pub total_amount: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ShippingAddress {
pub country_code: String,
pub state: String,
pub city: String,
pub street_line1: String,
pub street_line2: String,
pub post_code: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct OrderInfo {
pub name: Option<String>,
pub phone_number: Option<String>,
pub email: Option<String>,
pub shipping_address: Option<ShippingAddress>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ShippingOption {
pub id: String,
pub title: String,
pub prices: Vec<LabeledPrice>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SuccessfulPayment {
pub currency: String,
pub total_amount: i64,
pub invoice_payload: String,
pub shipping_option_id: Option<String>,
pub order_info: Option<OrderInfo>,
pub telegram_payment_charge_id: String,
pub provider_payment_charge_id: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ShippingQuery {
pub id: String,
pub from: User,
pub invoice_payload: String,
pub shipping_address: ShippingAddress,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PreCheckoutQuery {
pub id: String,
pub from: User,
pub currency: String,
pub total_amount: i64,
pub invoice_payload: String,
pub shipping_option_id: Option<String>,
pub order_info: Option<OrderInfo>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportData {
pub data: Vec<EncryptedPassportElement>,
pub credentials: EncryptedCredentials,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportFile {
pub file_id: String,
pub file_size: i64,
pub file_date: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EncryptedPassportElement {
#[serde(rename = "type")]
pub ty: String,
pub data: Option<String>,
pub phone_number: Option<String>,
pub email: Option<String>,
pub files: Option<Vec<PassportFile>>,
pub front_side: Option<PassportFile>,
pub reverse_side: Option<PassportFile>,
pub selfie: Option<PassportFile>,
pub translation: Option<Vec<PassportFile>>,
pub hash: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EncryptedCredentials {
pub data: String,
pub hash: String,
pub secret: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum PassportElementError {
PassportElementErrorDataField(PassportElementErrorDataField),
PassportElementErrorFrontSide(PassportElementErrorFrontSide),
PassportElementErrorReverseSide(PassportElementErrorReverseSide),
PassportElementErrorSelfie(PassportElementErrorSelfie),
PassportElementErrorFile(PassportElementErrorFile),
PassportElementErrorFiles(PassportElementErrorFiles),
PassportElementErrorTranslationFile(PassportElementErrorTranslationFile),
PassportElementErrorTranslationFiles(PassportElementErrorTranslationFiles),
PassportElementErrorUnspecified(PassportElementErrorUnspecified),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorDataField {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub field_name: String,
pub data_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorFrontSide {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorReverseSide {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorSelfie {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorFile {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorFiles {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hashes: Vec<String>,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorTranslationFile {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorTranslationFiles {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub file_hashes: Vec<String>,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PassportElementErrorUnspecified {
pub source: String,
#[serde(rename = "type")]
pub ty: String,
pub element_hash: String,
pub message: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct Game {
pub title: String,
pub description: String,
pub photo: Vec<PhotoSize>,
pub text: Option<String>,
pub text_entities: Option<Vec<MessageEntity>>,
pub animation: Option<Animation>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GameHighScore {
pub position: i64,
pub user: User,
pub score: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum PolymorphChatId {
Integer(i64),
String(String),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum PolymorphReplyMarkup {
InlineKeyboardMarkup(InlineKeyboardMarkup),
ReplyKeyboardMarkup(ReplyKeyboardMarkup),
ReplyKeyboardRemove(ReplyKeyboardRemove),
ForceReply(ForceReply),
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub enum PolymorphFromChatId {
Integer(i64),
String(String),
}#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetUpdates {
pub offset: Option<i64>,
pub limit: Option<i64>,
pub timeout: Option<i64>,
pub allowed_updates: Option<Vec<String>>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetWebhook {
pub url: String,
pub certificate: Option<String>,
pub max_connections: Option<i64>,
pub allowed_updates: Option<Vec<String>>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct DeleteWebhook {
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetWebhookInfo {
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetMe {
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendMessage {
pub chat_id: PolymorphChatId,
pub text: String,
pub parse_mode: Option<String>,
pub disable_web_page_preview: Option<bool>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ForwardMessage {
pub chat_id: PolymorphChatId,
pub from_chat_id: PolymorphFromChatId,
pub disable_notification: Option<bool>,
pub message_id: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendPhoto {
pub chat_id: PolymorphChatId,
pub photo: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendAudio {
pub chat_id: PolymorphChatId,
pub audio: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub duration: Option<i64>,
pub performer: Option<String>,
pub title: Option<String>,
pub thumb: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendDocument {
pub chat_id: PolymorphChatId,
pub document: String,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendVideo {
pub chat_id: PolymorphChatId,
pub video: String,
pub duration: Option<i64>,
pub width: Option<i64>,
pub height: Option<i64>,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub supports_streaming: Option<bool>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendAnimation {
pub chat_id: PolymorphChatId,
pub animation: String,
pub duration: Option<i64>,
pub width: Option<i64>,
pub height: Option<i64>,
pub thumb: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendVoice {
pub chat_id: PolymorphChatId,
pub voice: String,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub duration: Option<i64>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendVideoNote {
pub chat_id: PolymorphChatId,
pub video_note: String,
pub duration: Option<i64>,
pub length: Option<i64>,
pub thumb: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendMediaGroup {
pub chat_id: PolymorphChatId,
pub media: Vec<InputMedia>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendLocation {
pub chat_id: PolymorphChatId,
pub latitude: f64,
pub longitude: f64,
pub live_period: Option<i64>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EditMessageLiveLocation {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub latitude: f64,
pub longitude: f64,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct StopMessageLiveLocation {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendVenue {
pub chat_id: PolymorphChatId,
pub latitude: f64,
pub longitude: f64,
pub title: String,
pub address: String,
pub foursquare_id: Option<String>,
pub foursquare_type: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendContact {
pub chat_id: PolymorphChatId,
pub phone_number: String,
pub first_name: String,
pub last_name: Option<String>,
pub vcard: Option<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendPoll {
pub chat_id: PolymorphChatId,
pub question: String,
pub options: Vec<String>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendChatAction {
pub chat_id: PolymorphChatId,
pub action: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetUserProfilePhotos {
pub user_id: i64,
pub offset: Option<i64>,
pub limit: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetFile {
pub file_id: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct KickChatMember {
pub chat_id: PolymorphChatId,
pub user_id: i64,
pub until_date: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct UnbanChatMember {
pub chat_id: PolymorphChatId,
pub user_id: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct RestrictChatMember {
pub chat_id: PolymorphChatId,
pub user_id: i64,
pub until_date: Option<i64>,
pub can_send_messages: Option<bool>,
pub can_send_media_messages: Option<bool>,
pub can_send_other_messages: Option<bool>,
pub can_add_web_page_previews: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PromoteChatMember {
pub chat_id: PolymorphChatId,
pub user_id: i64,
pub can_change_info: Option<bool>,
pub can_post_messages: Option<bool>,
pub can_edit_messages: Option<bool>,
pub can_delete_messages: Option<bool>,
pub can_invite_users: Option<bool>,
pub can_restrict_members: Option<bool>,
pub can_pin_messages: Option<bool>,
pub can_promote_members: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct ExportChatInviteLink {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetChatPhoto {
pub chat_id: PolymorphChatId,
pub photo: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct DeleteChatPhoto {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetChatTitle {
pub chat_id: PolymorphChatId,
pub title: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetChatDescription {
pub chat_id: PolymorphChatId,
pub description: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct PinChatMessage {
pub chat_id: PolymorphChatId,
pub message_id: i64,
pub disable_notification: Option<bool>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct UnpinChatMessage {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct LeaveChat {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetChat {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetChatAdministrators {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetChatMembersCount {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetChatMember {
pub chat_id: PolymorphChatId,
pub user_id: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetChatStickerSet {
pub chat_id: PolymorphChatId,
pub sticker_set_name: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct DeleteChatStickerSet {
pub chat_id: PolymorphChatId,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct AnswerCallbackQuery {
pub callback_query_id: String,
pub text: Option<String>,
pub show_alert: Option<bool>,
pub url: Option<String>,
pub cache_time: Option<i64>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EditMessageText {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub text: String,
pub parse_mode: Option<String>,
pub disable_web_page_preview: Option<bool>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EditMessageCaption {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub caption: Option<String>,
pub parse_mode: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EditMessageMedia {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub media: InputMedia,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct EditMessageReplyMarkup {
pub chat_id: Option<PolymorphChatId>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct StopPoll {
pub chat_id: PolymorphChatId,
pub message_id: i64,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct DeleteMessage {
pub chat_id: PolymorphChatId,
pub message_id: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendSticker {
pub chat_id: PolymorphChatId,
pub sticker: String,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<PolymorphReplyMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetStickerSet {
pub name: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct UploadStickerFile {
pub user_id: i64,
pub png_sticker: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct CreateNewStickerSet {
pub user_id: i64,
pub name: String,
pub title: String,
pub png_sticker: String,
pub emojis: String,
pub contains_masks: Option<bool>,
pub mask_position: Option<MaskPosition>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct AddStickerToSet {
pub user_id: i64,
pub name: String,
pub png_sticker: String,
pub emojis: String,
pub mask_position: Option<MaskPosition>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetStickerPositionInSet {
pub sticker: String,
pub position: i64,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct DeleteStickerFromSet {
pub sticker: String,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct AnswerInlineQuery {
pub inline_query_id: String,
pub results: Vec<InlineQueryResult>,
pub cache_time: Option<i64>,
pub is_personal: Option<bool>,
pub next_offset: Option<String>,
pub switch_pm_text: Option<String>,
pub switch_pm_parameter: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendInvoice {
pub chat_id: i64,
pub title: String,
pub description: String,
pub payload: String,
pub provider_token: String,
pub start_parameter: String,
pub currency: String,
pub prices: Vec<LabeledPrice>,
pub provider_data: Option<String>,
pub photo_url: Option<String>,
pub photo_size: Option<i64>,
pub photo_width: Option<i64>,
pub photo_height: Option<i64>,
pub need_name: Option<bool>,
pub need_phone_number: Option<bool>,
pub need_email: Option<bool>,
pub need_shipping_address: Option<bool>,
pub send_phone_number_to_provider: Option<bool>,
pub send_email_to_provider: Option<bool>,
pub is_flexible: Option<bool>,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct AnswerShippingQuery {
pub shipping_query_id: String,
pub ok: bool,
pub shipping_options: Option<Vec<ShippingOption>>,
pub error_message: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct AnswerPreCheckoutQuery {
pub pre_checkout_query_id: String,
pub ok: bool,
pub error_message: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SendGame {
pub chat_id: i64,
pub game_short_name: String,
pub disable_notification: Option<bool>,
pub reply_to_message_id: Option<i64>,
pub reply_markup: Option<InlineKeyboardMarkup>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct SetGameScore {
pub user_id: i64,
pub score: i64,
pub force: Option<bool>,
pub disable_edit_message: Option<bool>,
pub chat_id: Option<i64>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
}
#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize, Deserialize)]
pub struct GetGameHighScores {
pub user_id: i64,
pub chat_id: Option<i64>,
pub message_id: Option<i64>,
pub inline_message_id: Option<String>,
}