1pub(crate) mod channel;
2pub(crate) mod emoji;
3pub(crate) mod guild;
4pub(crate) mod guild_scheduled_event;
5pub(crate) mod integration;
6pub(crate) mod interaction;
7pub(crate) mod member;
8pub(crate) mod message;
9pub(crate) mod presence;
10pub(crate) mod reaction;
11pub(crate) mod role;
12pub(crate) mod stage_instance;
13pub(crate) mod sticker;
14pub(crate) mod thread;
15pub(crate) mod voice_state;
16
17use twilight_model::gateway::payload::incoming::{Ready, UserUpdate};
18
19use crate::UpdateCache;
20
21impl UpdateCache for Ready {
22 async fn update(&self, cache: &crate::Cache) -> Result<(), crate::Error> {
23 cache.cache_current_user(&self.user).await?;
24
25 for guild in &self.guilds {
26 cache.unavailable_guild(guild.id).await?;
27 }
28
29 Ok(())
30 }
31}
32
33impl UpdateCache for UserUpdate {
34 async fn update(&self, cache: &crate::Cache) -> Result<(), crate::Error> {
35 cache.cache_current_user(&self.0).await?;
36
37 Ok(())
38 }
39}