mod attributes;
mod downloadable;
mod input_media;
mod media;
mod photo_sizes;
pub use attributes::Attribute;
pub use downloadable::Downloadable;
pub use input_media::InputMedia;
pub use media::{
ChatPhoto, Contact, Dice, Document, Geo, GeoLive, Media, Photo, Poll, Sticker, Uploaded, Venue,
WebPage,
};
pub use photo_sizes::PhotoSize;
use grammers_tl_types as tl;
pub(crate) fn uploaded_document(
file: Uploaded,
mime_type: String,
force_file: bool,
ttl_seconds: Option<i32>,
) -> tl::enums::InputMedia {
let file_name = file.name().to_string();
tl::types::InputMediaUploadedDocument {
nosound_video: false,
force_file,
spoiler: false,
file: file.raw,
thumb: None,
mime_type,
attributes: vec![(tl::types::DocumentAttributeFilename { file_name }).into()],
stickers: None,
ttl_seconds,
video_cover: None,
video_timestamp: None,
}
.into()
}