diff --git a/cogs/register/__init__.py b/cogs/register/__init__.py index 4baff1d..d8c0b5d 100644 --- a/cogs/register/__init__.py +++ b/cogs/register/__init__.py @@ -20,8 +20,10 @@ class Register(commands.Cog, name="Register"): name (str, optional): Name of Cog. Defaults to "Register". """ - def __init__(self, bot: commands.Bot) -> None: - self.bot = bot + def __init__(self) -> None: + """ + Default constructor for Register class. Does nothing. + """ @nextcord.slash_command(default_member_permissions=Permissions(administrator=True)) async def register(self): @@ -29,7 +31,7 @@ class Register(commands.Cog, name="Register"): Parent slash command, never called. """ - @register.subcommand(description="highscore") + @register.subcommand(description="Registers the channel for perminent highscores messages.") async def highscore( self, interaction: nextcord.Interaction, @@ -41,73 +43,73 @@ class Register(commands.Cog, name="Register"): ), ) -> None: """ - _summary_ + Command function to register the highscore printing channel. Args: - interaction (nextcord.Interaction): _description_ - channel (nextcord.abc.GuildChannel, optional): _description_. - - Defaults to SlashOption( description="Channel to register", - required=False, - channel_types=[nextcord.ChannelType.text], - default=None, - ). + interaction (nextcord.Interaction): Interaction that invoked the command + channel (nextcord.abc.GuildChannel, optional): Channel to register + Is a SlashOption. Limited to text channels, Defaults to None. """ if not channel: channel = interaction.channel channel_id = channel.id guild = highscores_data.get_guild(interaction.guild_id) - await interaction.send( - f"Registered <#{channel_id}> as channel to post highscores in.", ephemeral=True - ) + await interaction.send(f"Registered <#{channel_id}>.", ephemeral=True) guild.highscore_channel = channel_id highscores_data.save_guild_data(guild) - @commands.command(name="register") - # @commands.has_permissions(administrator=True) - async def register_highscores(self, ctx: commands.Context, registration_type: str) -> None: - """A command which registers current channel as for various uses. - Usage: - ``` - ?register verify (Use in channel you want to verify submissions in.) - ?register highscore (Use in channel you want to show highscore messages in.) - ?register submission (Use in channel you want submission messages to be send it.) - ?register help (Shows help message.) - ``` + @register.subcommand(description="Registers the channel for submission messages.") + async def submission( + self, + interaction: nextcord.Interaction, + channel: nextcord.abc.GuildChannel = SlashOption( + description="Channel to register", + required=False, + channel_types=[nextcord.ChannelType.text], + default=None, + ), + ) -> None: """ - # respond to the message - channel_id = ctx.channel.id - guild = highscores_data.get_guild(ctx.guild.id) + Command function to register the submission message channel. - if registration_type == "verify": - await ctx.send(f"Registered <#{channel_id}> as channel to post verifications in.") - guild.verification_channel = channel_id - elif registration_type == "highscore": - await ctx.send(f"Registered <#{channel_id}> as channel to post highscores in.") - guild.highscore_channel = channel_id - elif registration_type == "submission": - await ctx.send(f"Registered <#{channel_id}> as channel to post submissions in.") - guild.submission_channel = channel_id - else: - embed = Embed( - title="Register command help", description="How to use the register command." - ) - embed.add_field( - name="?register verify", value="Use in channel you want to verify submissions in." - ) - embed.add_field( - name="?register highscore", - value="Use in channel you want to show highscore messages in.", - ) - embed.add_field( - name="?register submission", - value="Use in channel you want submission messages to be send it.", - ) - embed.add_field(name="?register help", value="Use to show this message.") - await ctx.reply(embed=embed) - # return, don't need to save data - return + Args: + interaction (nextcord.Interaction): Interaction that invoked the command + channel (nextcord.abc.GuildChannel, optional): Channel to register + Is a SlashOption. Limited to text channels, Defaults to None. + """ + if not channel: + channel = interaction.channel + channel_id = channel.id + guild = highscores_data.get_guild(interaction.guild_id) + await interaction.send(f"Registered <#{channel_id}>.", ephemeral=True) + guild.submission_channel = channel_id + highscores_data.save_guild_data(guild) + @register.subcommand(description="Registers the channel for verification messages.") + async def verify( + self, + interaction: nextcord.Interaction, + channel: nextcord.abc.GuildChannel = SlashOption( + description="Channel to register", + required=False, + channel_types=[nextcord.ChannelType.text], + default=None, + ), + ) -> None: + """ + Command function to register the verification message channel. + + Args: + interaction (nextcord.Interaction): Interaction that invoked the command + channel (nextcord.abc.GuildChannel, optional): Channel to register + Is a SlashOption. Limited to text channels, Defaults to None. + """ + if not channel: + channel = interaction.channel + channel_id = channel.id + guild = highscores_data.get_guild(interaction.guild_id) + await interaction.send(f"Registered <#{channel_id}>.", ephemeral=True) + guild.verification_channel = channel_id highscores_data.save_guild_data(guild) @@ -115,4 +117,4 @@ class Register(commands.Cog, name="Register"): # It is necessary to add these functions to the bot. def setup(bot: commands.Bot) -> None: """Adds function to bot""" - bot.add_cog(Register(bot)) + bot.add_cog(Register())