Struct twilight_http::request::channel::message::create_message::CreateMessage
source · [−]pub struct CreateMessage<'a> { /* private fields */ }
Expand description
Send a message to a channel.
The message must include at least one of attachments
, content
,
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)
.exec()
.await?;
Implementations
sourceimpl<'a> CreateMessage<'a>
impl<'a> CreateMessage<'a>
sourcepub const fn allowed_mentions(
self,
allowed_mentions: Option<&'a AllowedMentions>
) -> Self
pub const 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]
) -> Result<Self, MessageValidationError>
pub fn attachments(
self,
attachments: &'a [Attachment]
) -> Result<Self, MessageValidationError>
Attach multiple files to the message.
Calling this method will clear previous calls.
Errors
Returns an error of type AttachmentFilename
if any filename is
invalid.
sourcepub fn components(
self,
components: &'a [Component]
) -> Result<Self, MessageValidationError>
pub fn components(
self,
components: &'a [Component]
) -> Result<Self, MessageValidationError>
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) -> Result<Self, MessageValidationError>
pub fn content(self, content: &'a str) -> Result<Self, MessageValidationError>
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]) -> Result<Self, MessageValidationError>
pub fn embeds(self, embeds: &'a [Embed]) -> Result<Self, MessageValidationError>
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 const fn fail_if_not_exists(self, fail_if_not_exists: bool) -> Self
pub const 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 const fn flags(self, flags: MessageFlags) -> Self
pub const fn flags(self, flags: MessageFlags) -> Self
Set the message’s flags.
The only supported flag is SUPPRESS_EMBEDS
.
sourcepub const fn nonce(self, nonce: u64) -> Self
pub const fn nonce(self, nonce: u64) -> Self
Attach a nonce to the message, for optimistic message sending.
sourcepub const fn payload_json(self, payload_json: &'a [u8]) -> Self
pub const 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 const fn reply(self, other: Id<MessageMarker>) -> Self
pub const fn reply(self, other: Id<MessageMarker>) -> Self
Specify the ID of another message to create a reply to.
sourcepub fn sticker_ids(
self,
sticker_ids: &'a [Id<StickerMarker>]
) -> Result<Self, MessageValidationError>
pub fn sticker_ids(
self,
sticker_ids: &'a [Id<StickerMarker>]
) -> Result<Self, MessageValidationError>
Set the IDs of up to 3 guild stickers.
Errors
Returns an error of type StickersInvalid
if the length is invalid.
sourcepub fn exec(self) -> ResponseFuture<Message>ⓘNotable traits for ResponseFuture<T>impl<T: Unpin> Future for ResponseFuture<T> type Output = Result<Response<T>, Error>;
pub fn exec(self) -> ResponseFuture<Message>ⓘNotable traits for ResponseFuture<T>impl<T: Unpin> Future for ResponseFuture<T> type Output = Result<Response<T>, Error>;
Execute the request, returning a future resolving to a Response
.