mirror of
https://github.com/teloxide/teloxide.git
synced 2024-12-23 06:51:01 +01:00
Add setters to Audio
This commit is contained in:
parent
ecae850fda
commit
c5b0bb93ca
1 changed files with 71 additions and 0 deletions
|
@ -37,6 +37,77 @@ pub struct Audio {
|
|||
pub thumb: Option<PhotoSize>,
|
||||
}
|
||||
|
||||
impl Audio {
|
||||
pub fn new<S1, S2>(file_id: S1, file_unique_id: S2, duration: u32) -> Self
|
||||
where
|
||||
S1: Into<String>,
|
||||
S2: Into<String>,
|
||||
{
|
||||
Self {
|
||||
file_id: file_id.into(),
|
||||
file_unique_id: file_unique_id.into(),
|
||||
duration,
|
||||
performer: None,
|
||||
title: None,
|
||||
mime_type: None,
|
||||
file_size: None,
|
||||
thumb: None,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn file_id<S>(mut self, val: S) -> Self
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
self.file_id = val.into();
|
||||
self
|
||||
}
|
||||
|
||||
pub fn file_unique_id<S>(mut self, val: S) -> Self
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
self.file_unique_id = val.into();
|
||||
self
|
||||
}
|
||||
|
||||
pub fn duration(mut self, val: u32) -> Self {
|
||||
self.duration = val;
|
||||
self
|
||||
}
|
||||
|
||||
pub fn performer<S>(mut self, val: S) -> Self
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
self.performer = Some(val.into());
|
||||
self
|
||||
}
|
||||
|
||||
pub fn title<S>(mut self, val: S) -> Self
|
||||
where
|
||||
S: Into<String>,
|
||||
{
|
||||
self.title = Some(val.into());
|
||||
self
|
||||
}
|
||||
|
||||
pub fn mime_type(mut self, val: MimeWrapper) -> Self {
|
||||
self.mime_type = Some(val);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn file_size(mut self, val: u32) -> Self {
|
||||
self.file_size = Some(val);
|
||||
self
|
||||
}
|
||||
|
||||
pub fn thumb(mut self, val: PhotoSize) -> Self {
|
||||
self.thumb = Some(val);
|
||||
self
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::*;
|
||||
|
|
Loading…
Reference in a new issue