Skip to content

Commit a357d45

Browse files
committed
fix: former members breaking put/delete verify roles
1 parent dcce3c9 commit a357d45

File tree

1 file changed

+18
-6
lines changed

1 file changed

+18
-6
lines changed

api/src/guilds/verify/controllers.rs

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,11 @@ async fn put_roles_id(
5252

5353
for (user_id, user_links) in &guild.verify.user_links {
5454
if link_arr_match(user_links, &new_role.pattern) {
55-
add_guild_member_role(guild.guild_id, *user_id, role_id, &app_state.discord_bot).await?;
56-
new_role.members += 1;
55+
let r = add_guild_member_role(guild.guild_id, *user_id, role_id, &app_state.discord_bot).await;
56+
if !(r.is_err() && r.err().unwrap().eq(&StatusCode::NOT_FOUND)) {
57+
r?;
58+
new_role.members += 1;
59+
}
5760
}
5861
}
5962
guild.verify.roles.push(new_role);
@@ -96,7 +99,10 @@ async fn remove_existing_role(
9699

97100
for (user_id, user_links) in &guild.verify.user_links {
98101
if link_arr_match(user_links, &existing_role.pattern) {
99-
remove_guild_member_role(guild.guild_id, *user_id, role_id, &app_state.discord_bot).await?
102+
let r = remove_guild_member_role(guild.guild_id, *user_id, role_id, &app_state.discord_bot).await;
103+
if !(r.is_err() && r.err().unwrap().eq(&StatusCode::NOT_FOUND)) {
104+
r?;
105+
}
100106
}
101107
}
102108

@@ -120,10 +126,16 @@ async fn post_recon(
120126
role.members = 0;
121127
for (user_id, links) in &*user_links {
122128
if link_arr_match(links, &role.pattern) {
123-
add_guild_member_role(guild.guild_id, *user_id, role.role_id, &app_state.discord_bot).await?;
124-
role.members += 1;
129+
let r = add_guild_member_role(guild.guild_id, *user_id, role.role_id, &app_state.discord_bot).await;
130+
if !(r.is_err() && r.err().unwrap().eq(&StatusCode::NOT_FOUND)) {
131+
r?;
132+
role.members += 1;
133+
}
125134
} else {
126-
remove_guild_member_role(guild.guild_id, *user_id, role.role_id, &app_state.discord_bot).await?;
135+
let r = remove_guild_member_role(guild.guild_id, *user_id, role.role_id, &app_state.discord_bot).await;
136+
if !(r.is_err() && r.err().unwrap().eq(&StatusCode::NOT_FOUND)) {
137+
r?;
138+
}
127139
}
128140
}
129141
}

0 commit comments

Comments
 (0)