feat(moderation): added command argument descriptions to all slash commands
All checks were successful
Pylint / Pylint (push) Successful in 1m13s
All checks were successful
Pylint / Pylint (push) Successful in 1m13s
This commit is contained in:
parent
40d2b01de5
commit
64669349de
1 changed files with 110 additions and 14 deletions
|
@ -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;"
|
||||
|
|
Loading…
Reference in a new issue