D++ (DPP)
C++ Discord API Bot Library
dpp::attachment Struct Reference

Represents an attachment in a dpp::message. More...

#include <message.h>

+ Collaboration diagram for dpp::attachment:

Public Member Functions

 attachment (struct message *o)
 Constructs a new attachment object. More...
 
 attachment (struct message *o, nlohmann::json *j)
 Constructs a new attachment object from a JSON object. More...
 
 ~attachment ()=default
 Destructs the attachment object. More...
 
void download (http_completion_event callback) const
 Download this attachment. More...
 

Public Attributes

snowflake id
 
uint32_t size
 
std::string filename
 
std::string description
 
std::string url
 
std::string proxy_url
 
uint32_t width
 
uint32_t height
 
std::string content_type
 
bool ephemeral
 
double duration_secs
 
std::string waveform
 
struct messageowner
 

Detailed Description

Represents an attachment in a dpp::message.

Constructor & Destructor Documentation

◆ attachment() [1/2]

dpp::attachment::attachment ( struct message o)

Constructs a new attachment object.

Parameters
oOwning dpp::message object

◆ attachment() [2/2]

dpp::attachment::attachment ( struct message o,
nlohmann::json *  j 
)

Constructs a new attachment object from a JSON object.

Parameters
oOwning dpp::message object
jJSON to read information from

◆ ~attachment()

dpp::attachment::~attachment ( )
default

Destructs the attachment object.

Member Function Documentation

◆ download()

void dpp::attachment::download ( http_completion_event  callback) const

Download this attachment.

Parameters
callbackA callback which is called when the download completes.
Note
The content of the file will be in the http_info.body parameter of the callback parameter.
Exceptions
dpp::logic_exceptionIf there is no owner associated with this attachment that itself has an owning cluster, this method will throw a dpp::logic_exception when called.

Member Data Documentation

◆ content_type

std::string dpp::attachment::content_type

MIME type of the attachment, if applicable

◆ description

std::string dpp::attachment::description

Optional: Description of the attachment (max 1024 characters)

◆ duration_secs

double dpp::attachment::duration_secs

The duration of the audio file (currently for voice messages)

◆ ephemeral

bool dpp::attachment::ephemeral

Whether this attachment is ephemeral, if applicable

◆ filename

std::string dpp::attachment::filename

File name of the attachment

◆ height

uint32_t dpp::attachment::height

Height of the attachment, if applicable

◆ id

snowflake dpp::attachment::id

ID of attachment

◆ owner

struct message* dpp::attachment::owner

Owning message

◆ proxy_url

std::string dpp::attachment::proxy_url

Proxied URL which points to the attachment

◆ size

uint32_t dpp::attachment::size

Size of the attachment in bytes

◆ url

std::string dpp::attachment::url

URL which points to the attachment

◆ waveform

std::string dpp::attachment::waveform

base64 encoded bytearray representing a sampled waveform (currently for voice messages)

◆ width

uint32_t dpp::attachment::width

Width of the attachment, if applicable

D++ Library version 10.0.35D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0