diff --git a/src/models/reminder/builder.rs b/src/models/reminder/builder.rs index 3667ce0..1b78edd 100644 --- a/src/models/reminder/builder.rs +++ b/src/models/reminder/builder.rs @@ -215,30 +215,30 @@ impl<'a> MultiReminderBuilder<'a> { for scope in self.scopes { let db_channel_id = match scope { ReminderScope::User(user_id) => { - if let Ok(user) = UserId::new(user_id).to_user(&self.ctx).await { - let user_data = UserData::from_user( - &user, - &self.ctx.serenity_context(), - &self.ctx.data().database, - ) - .await - .unwrap(); - - if let Some(guild_id) = self.guild_id { - if guild_id.member(&self.ctx, user).await.is_err() { - Err(ReminderError::InvalidTag) - } else if self.set_by.map_or(true, |i| i != user_data.id) - && !user_data.allowed_dm - { - Err(ReminderError::UserBlockedDm) + let user_id = UserId::new(user_id); + match UserData::from_user( + &user_id, + &self.ctx.serenity_context(), + &self.ctx.data().database, + ) + .await + { + Ok(user_data) => { + if let Some(guild_id) = self.guild_id { + if guild_id.member(&self.ctx, user_id).await.is_err() { + Err(ReminderError::InvalidTag) + } else if self.set_by.map_or(true, |i| i != user_data.id) + && !user_data.allowed_dm + { + Err(ReminderError::UserBlockedDm) + } else { + Ok((user_data.dm_channel, None)) + } } else { Ok((user_data.dm_channel, None)) } - } else { - Ok((user_data.dm_channel, None)) } - } else { - Err(ReminderError::InvalidTag) + Err(_) => Err(ReminderError::InvalidTag), } } ReminderScope::Channel(channel_with_thread) => { diff --git a/src/web/mod.rs b/src/web/mod.rs index bb6e80d..781f0b5 100644 --- a/src/web/mod.rs +++ b/src/web/mod.rs @@ -63,7 +63,7 @@ use log::{error, info, warn}; use oauth2::{basic::BasicClient, AuthUrl, ClientId, ClientSecret, RedirectUrl, TokenUrl}; use poise::serenity_prelude::{ client::Context, - model::id::{ChannelId, GuildId, UserId}, + model::id::{GuildId, UserId}, }; use rocket::{ catchers,