Skip to content

Commit

Permalink
Get rid of assumptions that Message::member is Some
Browse files Browse the repository at this point in the history
  • Loading branch information
GnomedDev committed Nov 16, 2024
1 parent dd0f776 commit 70a9bc5
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 12 deletions.
4 changes: 3 additions & 1 deletion tts_core/src/traits.rs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ impl<'ctx> PoiseContextExt<'ctx> for Context<'ctx> {
match self {
poise::Context::Application(poise::ApplicationContext { interaction, .. }) => {
let channel = interaction.channel.as_ref().try_unwrap()?;
let author_member = interaction.member.as_deref().try_unwrap()?;
let Some(author_member) = interaction.member.as_deref() else {
return Ok(serenity::Permissions::dm_permissions());
};

let mut permissions = author_member.permissions.try_unwrap()?;
if matches!(
Expand Down
23 changes: 12 additions & 11 deletions tts_events/src/message/tts.rs
Original file line number Diff line number Diff line change
Expand Up @@ -224,18 +224,19 @@ fn run_checks(
}
}

if let Some(required_role) = guild_row.required_role {
let message_member = message.member.as_deref().try_unwrap()?;
if !message_member.roles.contains(&required_role) {
let Some(channel) = guild.channels.get(&message.channel_id) else {
return Ok(None);
};
if let Some(required_role) = guild_row.required_role
&& let Some(message_member) = &message.member
&& !message_member.roles.contains(&required_role)
{
let Some(channel) = guild.channels.get(&message.channel_id) else {
return Ok(None);
};

let author_permissions =
guild.partial_member_permissions_in(channel, message.author.id, message_member);
if !author_permissions.administrator() {
return Ok(None);
}
if !guild
.partial_member_permissions_in(channel, message.author.id, message_member)
.administrator()
{
return Ok(None);
}
}

Expand Down

0 comments on commit 70a9bc5

Please sign in to comment.