correct authentication

This commit is contained in:
jude
2023-06-16 10:20:42 +01:00
parent 976fb91ecc
commit 96bc09e8b5
3 changed files with 50 additions and 14 deletions

View File

@ -56,14 +56,28 @@ macro_rules! check_authorization {
Some(user_id) => {
match GuildId($guild).to_guild_cached($ctx) {
Some(guild) => {
let member = guild.member($ctx, UserId(user_id)).await;
let member_res = guild.member($ctx, UserId(user_id)).await;
match member {
match member_res {
Err(_) => {
return Err(json!({"error": "User not in guild"}));
}
Ok(_) => {}
Ok(member) => {
let permissions_res = member.permissions($ctx);
match permissions_res {
Err(_) => {
return Err(json!({"error": "Couldn't fetch permissions"}));
}
Ok(permissions) => {
if !(permissions.manage_messages() || permissions.manage_guild() || permissions.administrator()) {
return Err(json!({"error": "Incorrect permissions"}));
}
}
}
}
}
}