diff --git a/moderation/moderation.py b/moderation/moderation.py index 1f2d6e3..89a48ec 100644 --- a/moderation/moderation.py +++ b/moderation/moderation.py @@ -290,8 +290,17 @@ class Moderation(commands.Cog): raise(TypeError("'type' argument is invalid!")) @app_commands.command(name="note") - async def note(self, interaction: discord.Interaction, target: discord.Member, reason: str, silent: bool = None): - """Add a note to a user.""" + async def note(self, interaction: discord.Interaction, target: discord.User, reason: str, silent: bool = None): + """Add a note to a user. + + Parameters + ----------- + target: discord.User + Who are you noting? + reason: str + Why are you noting this user? + silent: bool + Should the user be messaged?""" await interaction.response.send_message(content=f"{target.mention} has recieved a note!\n**Reason** - `{reason}`") if silent is None: silent = not await self.config.guild(interaction.guild).dm_users() @@ -305,7 +314,16 @@ class Moderation(commands.Cog): @app_commands.command(name="warn") async def warn(self, interaction: discord.Interaction, target: discord.Member, reason: str, silent: bool = None): - """Warn a user.""" + """Warn a user. + + Parameters + ----------- + target: discord.Member + Who are you warning? + reason: str + Why are you warning this user? + silent: bool + Should the user be messaged?""" await interaction.response.send_message(content=f"{target.mention} has been warned!\n**Reason** - `{reason}`") if silent is None: silent = not await self.config.guild(interaction.guild).dm_users() @@ -319,7 +337,18 @@ class Moderation(commands.Cog): @app_commands.command(name="mute") async def mute(self, interaction: discord.Interaction, target: discord.Member, duration: str, reason: str, silent: bool = None): - """Mute a user.""" + """Mute a user. + + Parameters + ----------- + target: discord.Member + Who are you unbanning? + duration: str + How long are you muting this user for? + reason: str + Why are you unbanning this user? + silent: bool + Should the user be messaged?""" if target.is_timed_out() is True: await interaction.response.send_message(f"{target.mention} is already muted!", allowed_mentions=discord.AllowedMentions(users=False), ephemeral=True) return @@ -345,7 +374,16 @@ class Moderation(commands.Cog): @app_commands.command(name="unmute") async def unmute(self, interaction: discord.Interaction, target: discord.Member, reason: str = None, silent: bool = None): - """Unmute a user.""" + """Unmute a user. + + Parameters + ----------- + target: discord.user + Who are you unmuting? + reason: str + Why are you unmuting this user? + silent: bool + Should the user be messaged?""" if target.is_timed_out() is False: await interaction.response.send_message(f"{target.mention} is not muted!", allowed_mentions=discord.AllowedMentions(users=False), ephemeral=True) return @@ -367,7 +405,16 @@ class Moderation(commands.Cog): @app_commands.command(name="kick") async def kick(self, interaction: discord.Interaction, target: discord.Member, reason: str, silent: bool = None): - """Kick a user.""" + """Kick a user. + + Parameters + ----------- + target: discord.user + Who are you kicking? + reason: str + Why are you kicking this user? + silent: bool + Should the user be messaged?""" await interaction.response.send_message(content=f"{target.mention} has been kicked!\n**Reason** - `{reason}`") if silent is None: silent = not await self.config.guild(interaction.guild).dm_users() @@ -389,8 +436,21 @@ class Moderation(commands.Cog): Choice(name='3 Days', value=259200), Choice(name='7 Days', value=604800), ]) - async def ban(self, interaction: discord.Interaction, target: discord.User, reason: str, duration: str = None, delete_messages: Choice[int] = 0): - """Ban a user.""" + async def ban(self, interaction: discord.Interaction, target: discord.User, reason: str, duration: str = None, delete_messages: Choice[int] = 0, silent: bool = None): + """Ban a user. + + Parameters + ----------- + target: discord.user + Who are you banning? + duration: str + How long are you banning this user for? + reason: str + Why are you banning this user? + delete_messages: Choices[int] + How many days of messages to delete? + silent: bool + Should the user be messaged?""" try: await interaction.guild.fetch_ban(target) await interaction.response.send_message(content=f"{target.mention} is already banned!", ephemeral=True) @@ -425,8 +485,17 @@ class Moderation(commands.Cog): await self.mysql_log(interaction.guild.id, interaction.user.id, 'BAN', target.id, 'NULL', reason) @app_commands.command(name="unban") - async def unban(self, interaction: discord.Interaction, target: discord.User, reason: str = None): - """Unban a user.""" + async def unban(self, interaction: discord.Interaction, target: discord.User, reason: str = None, silent: bool = None): + """Unban a user. + + Parameters + ----------- + target: discord.user + Who are you unbanning? + reason: str + Why are you unbanning this user? + silent: bool + Should the user be messaged?""" try: await interaction.guild.fetch_ban(target) except discord.errors.NotFound: @@ -449,8 +518,21 @@ class Moderation(commands.Cog): await self.mysql_log(interaction.guild.id, interaction.user.id, 'UNBAN', target.id, 'NULL', reason) @app_commands.command(name="history") - async def history(self, interaction: discord.Interaction, target: discord.Member = None, moderator: discord.Member = None, pagesize: app_commands.Range[int, 1, 25] = 5, page: int = 1, epheremal: bool = False): - """List previous infractions.""" + async def history(self, interaction: discord.Interaction, target: discord.User = None, moderator: discord.User = None, pagesize: app_commands.Range[int, 1, 25] = 5, page: int = 1, epheremal: bool = False): + """List previous infractions. + + Parameters + ----------- + target: discord.User + User whose infractions to query, overrides moderator if both are given + moderator: discord.User + Query by moderator + pagesize: app_commands.Range[int, 1, 25] + Amount of infractions to list per page + page: int + Page to select + epheremal: bool + Hide the command response""" database = await self.connect() cursor = database.cursor() if target: @@ -500,7 +582,14 @@ class Moderation(commands.Cog): @app_commands.command(name="resolve") async def resolve(self, interaction: discord.Interaction, case_number: int, reason: str = None): - """Resolve a specific case.""" + """Resolve a specific case. + + Parameters + ----------- + case_number: int + Case number of the case you're trying to resolve + reason: str + Reason for resolving case""" conf = await self.check_conf(['mysql_database']) if conf: raise(LookupError) @@ -553,7 +642,14 @@ class Moderation(commands.Cog): @app_commands.command(name="case") async def case(self, interaction: discord.Interaction, case_number: int, ephemeral: bool = False): - """Check the details of a specific case.""" + """Check the details of a specific case. + + Parameters + ----------- + case_number: int + What case are you looking up? + ephemeral: bool + Hide the command response""" database = await self.connect() cursor = database.cursor() query = "SELECT * FROM moderation_%s WHERE moderation_id = %s;"