diff --git a/src/database/user.rs b/src/database/user.rs index 8def8e61254c0859c960ac4507ffb2ed1458999f..0dc8d95b68c253a3241151dcb3bea34307127de1 100644 --- a/src/database/user.rs +++ b/src/database/user.rs @@ -130,13 +130,21 @@ impl User { ) }) .collect(); + + let guild_objects = fetch_guilds(&self.find_guilds()?)?; + let mut cids: Vec<String> = guild_objects + .iter() + .flat_map(|x| x.channels.clone()) + .collect(); + + cids.append(&mut self.find_dms()?); - let channels: Vec<JsonValue> = fetch_channels(&self.find_dms()?)? + let channels: Vec<JsonValue> = fetch_channels(&cids)? .into_iter() .map(|x| x.serialise()) .collect(); - let guilds: Vec<JsonValue> = fetch_guilds(&self.find_guilds()?)? + let guilds: Vec<JsonValue> = guild_objects .into_iter() .map(|x| x.serialise()) .collect();