fix: handle unavailable guilds

This commit is contained in:
oSumAtrIX 2022-08-21 03:33:16 +02:00
parent 204e7e6194
commit 5519bb2ee5
No known key found for this signature in database
GPG Key ID: A9B3094ACDB604B4

View File

@ -10,8 +10,8 @@ pub async fn load_muted_members(ctx: &serenity::Context, _: &serenity::Ready) {
let data = get_data_lock(ctx).await; let data = get_data_lock(ctx).await;
let data = data.read().await; let data = data.read().await;
let database = &data.database; let database = &data.database;
let mute_role_id = data.configuration.read().await.general.mute.role; let mute_role_id = data.configuration.general.mute.role;
let mut pending_unmutes = data.pending_unmutes.write().await; let mut pending_unmutes = data.pending_unmutes.lock().await;
let mut cursor = database let mut cursor = database
.find::<Muted>( .find::<Muted>(
@ -32,13 +32,8 @@ pub async fn load_muted_members(ctx: &serenity::Context, _: &serenity::Ready) {
let guild_id = current.guild_id.unwrap().parse::<u64>().unwrap(); let guild_id = current.guild_id.unwrap().parse::<u64>().unwrap();
let member_id = current.user_id.unwrap().parse::<u64>().unwrap(); let member_id = current.user_id.unwrap().parse::<u64>().unwrap();
if let Ok(member) = http_ref if let Ok(guild) = http_ref.get_guild(guild_id).await {
.get_guild(guild_id) if let Ok(member) = guild.member(http_ref, member_id).await {
.await
.unwrap()
.member(http_ref, member_id)
.await
{
let amount_left = let amount_left =
std::cmp::max(current.expires.unwrap() as i64 - Utc::now().timestamp(), 0); std::cmp::max(current.expires.unwrap() as i64 - Utc::now().timestamp(), 0);
@ -55,5 +50,8 @@ pub async fn load_muted_members(ctx: &serenity::Context, _: &serenity::Ready) {
} else { } else {
trace!("Failed to find member {} in guild {}", member_id, guild_id); trace!("Failed to find member {} in guild {}", member_id, guild_id);
} }
} else {
trace!("Guild {} unavailable", guild_id);
}
} }
} }