1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
use std::collections::HashMap;
use super::CreateAllowedMentions;
use crate::internal::prelude::*;
use crate::utils;
#[derive(Clone, Debug, Default)]
pub struct EditWebhookMessage(pub HashMap<&'static str, Value>);
impl EditWebhookMessage {
#[inline]
pub fn content<D: ToString>(&mut self, content: D) -> &mut Self {
self.0.insert("content", Value::String(content.to_string()));
self
}
#[inline]
pub fn embeds(&mut self, embeds: Vec<Value>) -> &mut Self {
self.0.insert("embeds", Value::Array(embeds));
self
}
pub fn allowed_mentions<F>(&mut self, f: F) -> &mut Self
where
F: FnOnce(&mut CreateAllowedMentions) -> &mut CreateAllowedMentions,
{
let mut allowed_mentions = CreateAllowedMentions::default();
f(&mut allowed_mentions);
let map = utils::hashmap_to_json_map(allowed_mentions.0);
let allowed_mentions = Value::Object(map);
self.0.insert("allowed_mentions", allowed_mentions);
self
}
}