diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | src/handlers/x500_mapper.rs | 10 |
2 files changed, 7 insertions, 4 deletions
@@ -16,4 +16,5 @@ target/ lambo.db lambo.db-shm lambo.db-wal +lambo.log lambo.toml diff --git a/src/handlers/x500_mapper.rs b/src/handlers/x500_mapper.rs index 36ce386..1ec35f2 100644 --- a/src/handlers/x500_mapper.rs +++ b/src/handlers/x500_mapper.rs @@ -113,10 +113,12 @@ impl X500Mapper { if let Some(role) = self.config.students_role { log::info!("adding the role {} to {}", role, member.display_name()); - member - .add_role(&ctx.http, role) - .await - .context("failed to add student role")? + if !member.roles.contains(&role) { + member + .add_role(&ctx.http, role) + .await + .context("failed to add student role")? + } } Ok::<_, anyhow::Error>(()) |