[][src]Struct serenity::builder::ExecuteWebhook

pub struct ExecuteWebhook(pub VecMap<&'static str, Value>);

A builder to create the inner content of a Webhook's execution.

This is a structured way of cleanly creating the inner execution payload, to reduce potential argument counts.

Refer to the documentation for execute_webhook on restrictions with execution payloads and its fields.

Examples

Creating two embeds, and then sending them as part of the delivery payload of Webhook::execute:

use serenity::http;
use serenity::model::channel::Embed;
use serenity::utils::Colour;

let id = 245037420704169985;
let token = "ig5AO-wdVWpCBtUUMxmgsWryqgsW3DChbKYOINftJ4DCrUbnkedoYZD0VOH1QLr-S3sV";

let webhook = http::get_webhook_with_token(id, token)
    .expect("valid webhook");

let website = Embed::fake(|e| e
    .title("The Rust Language Website")
    .description("Rust is a systems programming language.")
    .colour(Colour::from_rgb(222, 165, 132)));

let resources = Embed::fake(|e| e
    .title("Rust Resources")
    .description("A few resources to help with learning Rust")
    .colour(0xDEA584)
    .field("The Rust Book", "A comprehensive resource for Rust.", false)
    .field("Rust by Example", "A collection of Rust examples", false));

let _ = webhook.execute(false, |w| w
    .content("Here's some information on Rust:")
    .embeds(vec![website, resources]));

Methods

impl ExecuteWebhook
[src]

Override the default avatar of the webhook with an image URL.

Examples

Overriding the default avatar:

let avatar_url = "https://i.imgur.com/KTs6whd.jpg";

let _ = webhook.execute(false, |w| w
    .avatar_url(avatar_url)
    .content("Here's a webhook"));

Set the content of the message.

Note that when setting at least one embed via embeds, this may be omitted.

Examples

Sending a webhook with a content of "foo":

if let Err(why) = webhook.execute(false, |w| w.content("foo")) {
    println!("Err sending webhook: {:?}", why);
}

Set the embeds associated with the message.

This should be used in combination with Embed::fake, creating one or more fake embeds to send to the API.

Examples

Refer to the struct-level documentation for an example on how to use embeds.

Whether the message is a text-to-speech message.

Examples

Sending a webhook with text-to-speech enabled:

if let Err(why) = webhook.execute(false, |w| w.content("hello").tts(true)) {
    println!("Err sending webhook: {:?}", why);
}

Override the default username of the webhook.

Examples

Overriding the username to "hakase":

if let Err(why) = webhook.execute(false, |w| w.content("hello").username("hakase")) {
    println!("Err sending webhook: {:?}", why);
}

Trait Implementations

impl Default for ExecuteWebhook
[src]

Returns a default set of values for a Webhook execution.

The only default value is tts being set to false.

Examples

Creating an ExecuteWebhook builder:

use serenity::builder::ExecuteWebhook;

let executor = ExecuteWebhook::default();

impl Clone for ExecuteWebhook
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for ExecuteWebhook
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more

impl<T> Erased for T

impl<T> Typeable for T where
    T: Any

Get the TypeId of this object.

impl<T> DebugAny for T where
    T: Any + Debug
[src]

impl<T> CloneAny for T where
    T: Clone + Any
[src]

impl<T> UnsafeAny for T where
    T: Any