pub struct CreateMessage<'a> { /* private fields */ }
Expand description
Send a message to a channel.
The message must include at least one of attachments
, content
,
components
, embeds
, or sticker_ids
.
§Example
use twilight_http::Client;
use twilight_model::id::Id;
let client = Client::new("my token".to_owned());
let channel_id = Id::new(123);
let message = client
.create_message(channel_id)
.content("Twilight is best pony")
.tts(true)
.await?;
Implementations§
source§impl<'a> CreateMessage<'a>
impl<'a> CreateMessage<'a>
sourcepub fn allowed_mentions(
self,
allowed_mentions: Option<&'a AllowedMentions>,
) -> Self
pub fn allowed_mentions( self, allowed_mentions: Option<&'a AllowedMentions>, ) -> Self
Specify the AllowedMentions
for the message.
Unless otherwise called, the request will use the client’s default
allowed mentions. Set to None
to ignore this default.
sourcepub fn attachments(self, attachments: &'a [Attachment]) -> Self
pub fn attachments(self, attachments: &'a [Attachment]) -> Self
Attach multiple files to the message.
Calling this method will clear previous calls.
§Errors
Returns an error of type AttachmentDescriptionTooLarge
if
the attachments’s description is too large.
Returns an error of type AttachmentFilename
if any filename is
invalid.
sourcepub fn components(self, components: &'a [Component]) -> Self
pub fn components(self, components: &'a [Component]) -> Self
Set the message’s list of Component
s.
Calling this method will clear previous calls.
§Errors
Refer to the errors section of
twilight_validate::component::component
for a list of errors that
may be returned as a result of validating each provided component.
sourcepub fn content(self, content: &'a str) -> Self
pub fn content(self, content: &'a str) -> Self
Set the message’s content.
The maximum length is 2000 UTF-16 characters.
§Errors
Returns an error of type ContentInvalid
if the content length is too
long.
sourcepub fn embeds(self, embeds: &'a [Embed]) -> Self
pub fn embeds(self, embeds: &'a [Embed]) -> Self
Set the message’s list of embeds.
Calling this method will clear previous calls.
The amount of embeds must not exceed EMBED_COUNT_LIMIT
. The total
character length of each embed must not exceed EMBED_TOTAL_LENGTH
characters. Additionally, the internal fields also have character
limits. See Discord Docs/Embed Limits.
§Errors
Returns an error of type TooManyEmbeds
if there are too many embeds.
Otherwise, refer to the errors section of
twilight_validate::embed::embed
for a list of errors that may occur.
sourcepub fn fail_if_not_exists(self, fail_if_not_exists: bool) -> Self
pub fn fail_if_not_exists(self, fail_if_not_exists: bool) -> Self
Whether to fail sending if the reply no longer exists.
Defaults to true
.
sourcepub fn flags(self, flags: MessageFlags) -> Self
pub fn flags(self, flags: MessageFlags) -> Self
Set the message’s flags.
The only supported flags are SUPPRESS_EMBEDS
and
SUPPRESS_NOTIFICATIONS
.
sourcepub fn nonce(self, nonce: u64) -> Self
pub fn nonce(self, nonce: u64) -> Self
Attach a nonce to the message, for optimistic message sending.
sourcepub fn payload_json(self, payload_json: &'a [u8]) -> Self
pub fn payload_json(self, payload_json: &'a [u8]) -> Self
JSON encoded body of any additional request fields.
If this method is called, all other fields are ignored, except for
attachments
. See Discord Docs/Uploading Files.
§Examples
See ExecuteWebhook::payload_json
for examples.
sourcepub fn reply(self, other: Id<MessageMarker>) -> Self
pub fn reply(self, other: Id<MessageMarker>) -> Self
Specify the ID of another message to create a reply to.
sourcepub fn forward(self, other: Id<MessageMarker>) -> Self
pub fn forward(self, other: Id<MessageMarker>) -> Self
Specify the ID of another message to forward.
sourcepub fn sticker_ids(self, sticker_ids: &'a [Id<StickerMarker>]) -> Self
pub fn sticker_ids(self, sticker_ids: &'a [Id<StickerMarker>]) -> Self
Set the IDs of up to 3 guild stickers.
§Errors
Returns an error of type StickersInvalid
if the length is invalid.