twilight_http::request::channel::message::create_message

Struct 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, 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>

source

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.

source

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.

source

pub fn components(self, components: &'a [Component]) -> Self

Set the message’s list of Components.

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.

source

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.

source

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.

source

pub fn poll(self, poll: &'a Poll) -> Self

Specify if this message is a poll.

source

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.

source

pub fn flags(self, flags: MessageFlags) -> Self

Set the message’s flags.

The only supported flags are SUPPRESS_EMBEDS and SUPPRESS_NOTIFICATIONS.

source

pub fn nonce(self, nonce: u64) -> Self

Attach a nonce to the message, for optimistic message sending.

source

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.

source

pub fn reply(self, other: Id<MessageMarker>) -> Self

Specify the ID of another message to create a reply to.

source

pub fn forward(self, other: Id<MessageMarker>) -> Self

Specify the ID of another message to forward.

source

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.

source

pub fn tts(self, tts: bool) -> Self

Specify true if the message is TTS.

Trait Implementations§

source§

impl IntoFuture for CreateMessage<'_>

source§

type Output = Result<Response<Message>, Error>

The output that the future will produce on completion.
source§

type IntoFuture = ResponseFuture<Message>

Which kind of future are we turning this into?
source§

fn into_future(self) -> Self::IntoFuture

Creates a future from a value. Read more
source§

impl TryIntoRequest for CreateMessage<'_>

source§

fn try_into_request(self) -> Result<Request, Error>

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

Auto Trait Implementations§

§

impl<'a> Freeze for CreateMessage<'a>

§

impl<'a> !RefUnwindSafe for CreateMessage<'a>

§

impl<'a> Send for CreateMessage<'a>

§

impl<'a> Sync for CreateMessage<'a>

§

impl<'a> Unpin for CreateMessage<'a>

§

impl<'a> !UnwindSafe for CreateMessage<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

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

fn in_current_span(self) -> Instrumented<Self>

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

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

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

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

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

fn with_current_subscriber(self) -> WithDispatch<Self>

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