diff --git a/src/cogs/mc_whitelist.py b/src/cogs/mc_whitelist.py index ece4227..98ecd3f 100644 --- a/src/cogs/mc_whitelist.py +++ b/src/cogs/mc_whitelist.py @@ -85,7 +85,7 @@ class MCWhitelist(commands.Cog): # Also unfortunate, we seemingly need to wrap the context manager like this to catch any exceptions try: with MCRcon(host="127.0.0.1", password=self.bot.mc_rcon_password, port=25575) as mcr: - mcr.command(f'whitelist add {data["id"]}') + response = mcr.command(f'whitelist add {data["id"]}') mcr.command("whitelist reload") except Exception as e: self.bot.logger.error(f"Failed to use RCON: {e}") @@ -95,6 +95,14 @@ class MCWhitelist(commands.Cog): ) ) + if not response.startswith(("Added", "Player is already whitelisted")): + self.bot.logger.error(f"Minecraft server rejected whitelisting {data['name']}: {response}") + return await interaction.response.send_message( + embed=embed_templates.error_fatal( + "Minecraftserveren godtok ikke brukeren. Ta kontakt med din lokale teknisk ansvarlige", + ) + ) + # Add user to db await self.bot.db.execute( """ @@ -142,7 +150,7 @@ class MCWhitelist(commands.Cog): # Also unfortunate, we seemingly need to wrap the context manager like this to catch any exceptions try: with MCRcon(host="127.0.0.1", password=self.bot.mc_rcon_password, port=25575) as mcr: - mcr.command(f"whitelist remove {mc_id}") + response = mcr.command(f"whitelist remove {mc_id}") mcr.command("whitelist reload") except Exception as e: self.bot.logger.error(f"Failed to use RCON: {e}") @@ -152,6 +160,14 @@ class MCWhitelist(commands.Cog): ) ) + if not response.startswith(("Removed", "Player is not whitelisted")): + self.bot.logger.error(f"Minecraft server rejected removing {mc_id} from the whitelist: {response}") + return await interaction.response.send_message( + embed=embed_templates.error_fatal( + "Minecraftserveren klarte ikke å fjerne brukeren. Ta kontakt med din lokale teknisk ansvarlige", + ) + ) + # Remove user from db await self.bot.db.execute( """