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"))?
    .exec()
    .await?;

Remove the message’s content:

client
    .update_message(Id::new(1), Id::new(2))
    .content(None)?
    .exec()
    .await?;

Implementations

Specify the AllowedMentions for the message.

If not called, the request will use the client’s default allowed mentions.

Attach multiple new files to the message.

This method clears previous calls.

Errors

Returns an error of type AttachmentFilename if any filename is invalid.

Set the message’s list of Components.

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.

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.

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.

Set the message’s flags.

The only supported flag is SUPPRESS_EMBEDS.

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.

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.

Execute the request, returning a future resolving to a Response.

Trait Implementations

Try to convert a request builder into a raw Request. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more