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.
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]));
Override the default avatar of the webhook with an image URL.
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.
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.
Refer to the struct-level documentation for an example on how to use
embeds.
Whether the message is a text-to-speech message.
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.
Overriding the username to "hakase"
:
if let Err(why) = webhook.execute(false, |w| w.content("hello").username("hakase")) {
println!("Err sending webhook: {:?}", why);
}
Returns a default set of values for a Webhook
execution.
The only default value is tts
being set to false
.
Creating an ExecuteWebhook
builder:
use serenity::builder::ExecuteWebhook;
let executor = ExecuteWebhook::default();
Performs copy-assignment from source
. Read more
Formats the value using the given formatter. Read more
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
🔬 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
)
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more
🔬 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
)
🔬 This is a nightly-only experimental API. (get_type_id
)
this method will likely be replaced by an associated static
impl<T> Typeable for T where T: Any, | |
Get the TypeId
of this object.
impl<T> UnsafeAny for T where T: Any, | |