From dbca836d47ed0d9ea850dc53926521594b9c7f9b Mon Sep 17 00:00:00 2001 From: Price Hiller Date: Wed, 22 Feb 2023 22:14:17 -0600 Subject: [PATCH] fix: properly allow user to set steam64 --- autowl/Cogs/Whitelist.py | 36 +++++++++++++++++++++++++++--------- 1 file changed, 27 insertions(+), 9 deletions(-) diff --git a/autowl/Cogs/Whitelist.py b/autowl/Cogs/Whitelist.py index e170b16..cf8c459 100644 --- a/autowl/Cogs/Whitelist.py +++ b/autowl/Cogs/Whitelist.py @@ -1,29 +1,47 @@ import discord +import logging from autowl import config from autowl.bot import Bot from discord.ext import commands from discord import app_commands +log = logging.getLogger(__name__) + + class Whitelist(commands.Cog): def __init__(self, client: Bot): self.client = client @app_commands.command() async def register(self, interaction: discord.Interaction, steam64: int): - ctx: commands.Context = await self.client.get_context(interaction) - if not ctx.guild: - ctx.reply("This command must be ran within a discord server!") + if not interaction.guild: + await interaction.response.send_message( + "This command must be ran within a discord server!" + ) + return + + if not len(self.client.whitelist.keys()): + await interaction.response.send_message( + "There are no Whitelist roles defined, unable to continue!" + ) return steam64_updated = False - for role in ctx.author.roles: + for role in interaction.user.roles: for group in self.client.whitelist: - if role.id == group.discord_role_id: + if role.id == self.client.whitelist[group].discord_role_id: steam64_updated = True - group.members[ctx.author.id] = config.WhitelistMember( - ctx.author.name, steam64 - ) + self.client.whitelist[group].members[ + interaction.user.id + ] = config.WhitelistMember(interaction.user.name, steam64) if steam64_updated: - ctx.reply(f"Updated {ctx.author.name}'s whitelist steam64 to {steam64}!") + log.info( + f"Updated {interaction.user.name}'s ({interaction.user.id}) whitelist steam64 to {steam64}" + ) + await interaction.response.send_message( + f"Updated `{interaction.user.name}`'s whitelist steam64 to `{steam64}`!" + ) + else: + await interaction.response.send_message(f"Unable to update `{interaction.user.name}`'s whitelist steam64 as they are not in a valid Whitelisted group")