pub struct Attachment {
pub description: Option<String>,
pub file: Vec<u8>,
pub filename: String,
pub id: u64,
}
Expand description
Attachments used in messages.
§Examples
Create an attachment of a short JSON blob describing a cat with a description for screen readers:
use twilight_model::http::attachment::Attachment;
let filename = "twilight_sparkle.json".to_owned();
let file_content = br#"{
"best_friend": "Spike",
"cutie_mark": "sparkles",
"name": "Twilight Sparkle"
}"#
.to_vec();
let id = 1;
let mut attachment = Attachment::from_bytes(filename, file_content, id);
attachment.description("Raw data about Twilight Sparkle".to_owned());
Fields§
§description: Option<String>
Description of the attachment, useful for screen readers and users requiring alt text.
file: Vec<u8>
Content of the file.
filename: String
Name of the file.
Examples may be twilight_sparkle.png
, cat.jpg
, or logs.txt
.
id: u64
Unique ID of the attachment in the message.
While attachment IDs can be the same as attachments in other messages, they must be unique within the same message. Attachment IDs don’t need to be in any particular format; for example, IDs of 0, 100, the current timestamp, and so on are all valid.
Implementations§
source§impl Attachment
impl Attachment
sourcepub const fn from_bytes(filename: String, file: Vec<u8>, id: u64) -> Self
pub const fn from_bytes(filename: String, file: Vec<u8>, id: u64) -> Self
Create an attachment from a filename and bytes.
§Examples
Create an attachment with a grocery list named “grocerylist.txt”:
use twilight_model::http::attachment::Attachment;
let filename = "grocerylist.txt".to_owned();
let file_content = b"Apples\nGrapes\nLemonade".to_vec();
let id = 1;
let attachment = Attachment::from_bytes(filename, file_content, id);
sourcepub fn description(&mut self, description: String)
pub fn description(&mut self, description: String)
Set the description of the attachment.
Attachment descriptions are useful for those requiring screen readers and are displayed as alt text.
Trait Implementations§
source§impl Clone for Attachment
impl Clone for Attachment
source§fn clone(&self) -> Attachment
fn clone(&self) -> Attachment
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Attachment
impl Debug for Attachment
source§impl<'de> Deserialize<'de> for Attachment
impl<'de> Deserialize<'de> for Attachment
source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
source§impl Hash for Attachment
impl Hash for Attachment
source§impl PartialEq for Attachment
impl PartialEq for Attachment
source§impl Serialize for Attachment
impl Serialize for Attachment
impl Eq for Attachment
impl StructuralPartialEq for Attachment
Auto Trait Implementations§
impl Freeze for Attachment
impl RefUnwindSafe for Attachment
impl Send for Attachment
impl Sync for Attachment
impl Unpin for Attachment
impl UnwindSafe for Attachment
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)