tulpje_cache/
event.rs

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}