Merge pull request 'Fixed notification on OnMemberJoin #191' (#225) from #191 into 1.0.0

Reviewed-on: sh-edraft.de/kd_discord_bot#225
This commit is contained in:
Sven Heidemann 2023-02-21 10:17:47 +01:00
commit f42f2086e7

View File

@ -57,6 +57,7 @@ class LevelService:
if level_role in member.roles:
return
notification_needed = False
for role in member.roles:
if role.name not in level_names.to_list():
continue
@ -64,6 +65,7 @@ class LevelService:
try:
self._logger.debug(__name__, f"Try to remove role {role.name} from {member.name}")
await member.remove_roles(role)
notification_needed = True
self._logger.info(__name__, f"Removed role {role.name} from {member.name}")
except Exception as e:
self._logger.error(__name__, f"Removing role {role.name} from {member.name} failed!", e)
@ -75,6 +77,7 @@ class LevelService:
except Exception as e:
self._logger.error(__name__, f"Adding role {level_role.name} to {member.name} failed!", e)
if notification_needed:
level_settings: LevelServerSettings = self._config.get_configuration(f"LevelServerSettings_{guild.id}")
await self._message_service.send_channel_message(
self._bot.get_channel(level_settings.changed_level_notification_channel),