Struct FileMessageBuilder

Source
pub struct FileMessageBuilder { /* private fields */ }
Expand description

Builder for FileMessage.

Implementations§

Source§

impl FileMessageBuilder

Source

pub fn new( file_blob_id: BlobId, blob_encryption_key: Key, media_type: impl Into<String>, file_size_bytes: u32, ) -> Self

Create a new FileMessage builder.

Before calling this function, you need to symmetrically encrypt the file data with encrypt_file_data and upload the ciphertext to the blob server with blob_upload.

The file_blob_id must point to the blob id of the uploaded file data, encrypted with blob_encryption_key.

The file size needs to be specified in bytes. Note that the size is only used for download size displaying purposes and has no security implications.

Source

pub fn thumbnail(self, blob_id: BlobId, media_type: impl Into<String>) -> Self

Set a thumbnail.

Before calling this function, you need to encrypt and upload the thumbnail data along with the file data (as described in FileMessageBuilder::new).

Source

pub fn thumbnail_opt(self, blob: Option<(BlobId, impl Into<String>)>) -> Self

Set a thumbnail from an Option.

Before calling this function, you need to encrypt and upload the thumbnail data along with the file data (as described in FileMessageBuilder::new).

Source

pub fn file_name(self, file_name: impl Into<String>) -> Self

Set the file name.

Note that the file name will not be shown in the clients if the rendering type is not set to File.

Source

pub fn file_name_opt(self, file_name: Option<impl Into<String>>) -> Self

Set the file name from an Option.

Note that the file name will not be shown in the clients if the rendering type is not set to File.

Source

pub fn description(self, description: impl Into<String>) -> Self

Set the file description / caption.

Source

pub fn description_opt(self, description: Option<impl Into<String>>) -> Self

Set the file description / caption from an Option.

Source

pub fn rendering_type(self, rendering_type: RenderingType) -> Self

Set the rendering type.

See RenderingType docs for more information.

Source

pub fn animated(self, animated: bool) -> Self

Mark this file message as animated.

May only be used for files with rendering type Media or Sticker.

Source

pub fn dimensions(self, height: u32, width: u32) -> Self

Set the dimensions of this file message.

May only be used for files with rendering type Media or Sticker.

Source

pub fn duration(self, seconds: f32) -> Self

Set the duration (in seconds) of this file message.

May only be used for audio/video files with rendering type Media.

Source

pub fn build(self) -> Result<FileMessage, FileMessageBuilderError>

Create a FileMessage from this builder.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,