From bf448e13e4a1d2ee883f2bd0f61c92bd44abf28d Mon Sep 17 00:00:00 2001 From: Erdragh Date: Tue, 4 Jun 2024 08:46:46 +0200 Subject: [PATCH] Unlink user on leave --- common/src/main/kotlin/dev/erdragh/astralbot/Bot.kt | 7 ++++++- .../astralbot/commands/discord/UserEventListener.kt | 11 +++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) create mode 100644 common/src/main/kotlin/dev/erdragh/astralbot/commands/discord/UserEventListener.kt diff --git a/common/src/main/kotlin/dev/erdragh/astralbot/Bot.kt b/common/src/main/kotlin/dev/erdragh/astralbot/Bot.kt index 211ed54..8c393e1 100644 --- a/common/src/main/kotlin/dev/erdragh/astralbot/Bot.kt +++ b/common/src/main/kotlin/dev/erdragh/astralbot/Bot.kt @@ -1,6 +1,7 @@ package dev.erdragh.astralbot import dev.erdragh.astralbot.commands.discord.CommandHandlingListener +import dev.erdragh.astralbot.commands.discord.UserEventListener import dev.erdragh.astralbot.config.AstralBotConfig import dev.erdragh.astralbot.handlers.FAQHandler import dev.erdragh.astralbot.handlers.MinecraftHandler @@ -127,7 +128,11 @@ fun startAstralbot(server: MinecraftServer) { GatewayIntent.MESSAGE_CONTENT, GatewayIntent.GUILD_MESSAGES, GatewayIntent.GUILD_MEMBERS - ).addEventListeners(CommandHandlingListener, minecraftHandler).build() + ).addEventListeners( + CommandHandlingListener, + UserEventListener, + minecraftHandler + ).build() setupJob = GlobalScope.async { launch { diff --git a/common/src/main/kotlin/dev/erdragh/astralbot/commands/discord/UserEventListener.kt b/common/src/main/kotlin/dev/erdragh/astralbot/commands/discord/UserEventListener.kt new file mode 100644 index 0000000..abba232 --- /dev/null +++ b/common/src/main/kotlin/dev/erdragh/astralbot/commands/discord/UserEventListener.kt @@ -0,0 +1,11 @@ +package dev.erdragh.astralbot.commands.discord + +import dev.erdragh.astralbot.handlers.WhitelistHandler +import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent +import net.dv8tion.jda.api.hooks.ListenerAdapter + +object UserEventListener : ListenerAdapter() { + override fun onGuildMemberRemove(event: GuildMemberRemoveEvent) { + WhitelistHandler.unWhitelist(event.user) + } +} \ No newline at end of file