pub struct UpdateMessage<'a> { /* private fields */ }
Expand description
Update a message by Id<ChannelMarker>
and Id<MessageMarker>
.
You can pass None
to any of the methods to remove the associated field.
Pass None
to content
to remove the content. You must ensure that the
message still contains at least one of attachments
, content
,
embeds
, or stickers.
§Examples
Replace the content with "test update"
:
use twilight_http::Client;
use twilight_model::id::Id;
let client = Client::new("my token".to_owned());
client
.update_message(Id::new(1), Id::new(2))
.content(Some("test update"))
.await?;
Remove the message’s content:
client
.update_message(Id::new(1), Id::new(2))
.content(None)
.await?;
Implementations§
source§impl<'a> UpdateMessage<'a>
impl<'a> UpdateMessage<'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.
If not called, the request will use the client’s default allowed mentions.
sourcepub fn attachments(self, attachments: &'a [Attachment]) -> Self
pub fn attachments(self, attachments: &'a [Attachment]) -> Self
Attach multiple new files to the message.
This method clears 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: Option<&'a [Component]>) -> Self
pub fn components(self, components: Option<&'a [Component]>) -> Self
Set the message’s list of Component
s.
Calling this method will clear previous calls.
§Editing
Pass None
to clear existing components.
§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: Option<&'a str>) -> Self
pub fn content(self, content: Option<&'a str>) -> Self
Set the message’s content.
The maximum length is 2000 UTF-16 characters.
§Editing
Pass None
to remove the message content. This is impossible if it
would leave the message empty of attachments
, content
, embeds
, or
sticker_ids
.
§Errors
Returns an error of type ContentInvalid
if the content length is too
long.
sourcepub fn embeds(self, embeds: Option<&'a [Embed]>) -> Self
pub fn embeds(self, embeds: Option<&'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. Refer to Discord Docs/Embed Limits for more information.
§Editing
To keep all embeds, do not call this method. To modify one or more
embeds in the message, acquire them from the previous message, mutate
them in place, then pass that list to this method. To remove all embeds,
pass None
. This is impossible if it would leave the message empty of
attachments
, content
, embeds
, or sticker_ids
.
§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 flags(self, flags: MessageFlags) -> Self
pub fn flags(self, flags: MessageFlags) -> Self
Set the message’s flags.
The only supported flag is SUPPRESS_EMBEDS
.
sourcepub fn keep_attachment_ids(
self,
attachment_ids: &'a [Id<AttachmentMarker>],
) -> Self
pub fn keep_attachment_ids( self, attachment_ids: &'a [Id<AttachmentMarker>], ) -> Self
Specify multiple Id<AttachmentMarker>
s already present in the target
message to keep.
If called, all unspecified attachments (except ones added with
attachments
) will be removed from the message. This is impossible if
it would leave the message empty of attachments
, content
, embeds
,
or sticker_ids
. If not called, all attachments will be kept.
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.