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
use super::User;
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Reaction {
/// Count of this reaction
pub count: u64,
/// Whether the current user has reacted with this emoji
#[serde(default)]
pub me: bool,
/// The emoji itself
pub emoji: Emoji,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Emoji {
/// Unique ID of the emoji (if custom)
pub id: Option<String>,
/// Name of the emoji (can be null only in reaction emoji objects)
pub name: Option<String>,
/// Roles allowed to use this emoji
#[serde(default)]
pub roles: Vec<String>,
/// User that created this emoji
pub user: Option<User>,
/// Whether this emoji must be wrapped in colons (e.g., <:emoji_name:emoji_id>)
#[serde(default)]
pub require_colons: bool,
/// Whether this emoji is managed by an integration
#[serde(default)]
pub managed: bool,
/// Whether this emoji is animated
#[serde(default)]
pub animated: bool,
/// Whether this emoji is available
#[serde(default)]
pub available: bool,
}