diff --git a/cogs/guild.py b/cogs/guild.py index 0e7c4df0..8defaed4 100644 --- a/cogs/guild.py +++ b/cogs/guild.py @@ -23,7 +23,8 @@ import asyncpg import discord from discord import Embed, TextChannel from discord import File -from discord.ext.commands import has_permissions, Cog, group, bot_has_permissions, BadArgument, MissingRequiredArgument +from discord.ext.commands import has_permissions, Cog, group, bot_has_permissions, BadArgument, MissingRequiredArgument, \ + command # Method to ask the user if they want to be anonymous or not @@ -160,7 +161,7 @@ async def wait_for_msg(self, check, user_channel): # Set up the Cog class Guild(Cog): - """Modmail System!""" + """All Guild Systems (Modmail/Modlogs/RolePersist)""" def __init__(self, bot): self.bot = bot @@ -176,7 +177,46 @@ class Guild(Cog): """Printing out that Cog is ready on startup""" print(f"{self.__class__.__name__} Cog has been loaded\n-----") - @group(name="rolepersist", case_insensitive=True, usage="``") + @command(name="modstatus", aliases=["logsstatus"]) + @bot_has_permissions(embed_links=True) + async def all_statuses(self, ctx): + """Status of all the moderation systems (Modlogs/Modmail/RolePersist)""" + desc = "" + + # Get status of mod + if self.bot.get_roles_persist(ctx.guild.id) == 0: + desc += f"**{self.bot.tick} Role Persist**\n" + else: + desc += f"**{self.bot.cross} Role Persist**\n" + + # Get status of modlogs + ml_channel = self.bot.get_modlog_for_guild(ctx.guild.id) + + if ml_channel: + channel = ctx.guild.get_channel(ml_channel) + desc += f"**{self.bot.tick} Modlogs | {channel.mention}**\n" + else: + desc += f"**{self.bot.cross} Modlogs**\n" + + # Get status of modmail + modmail = self.bot.get_modmail(ctx.guild.id) + if modmail: + modmail_channel = ctx.guild.get_channel(modmail["modmail_channel_id"]) + modmail_logging = ctx.guild.get_channel(modmail["modmail_logging_channel_id"]) + + desc += f"**{self.bot.tick} Modmail | Channel: {modmail_channel.mention} | Logging: {modmail_logging.mention}**\n" + else: + desc += f"**{self.bot.cross} Modmail**\n" + + embed = Embed(title="Moderation Systems", + description=desc, + colour=self.bot.random_colour(), + timestamp=datetime.datetime.utcnow()) + embed.set_footer(text=f"Requested by {ctx.author}", icon_url=ctx.author.avatar_url) + + await ctx.send(embed=embed) + + @group(name="rolepersist", case_insensitive=True, usage="``") @has_permissions(manage_guild=True) @bot_has_permissions(manage_roles=True) async def roles_persist(self, ctx): @@ -211,7 +251,7 @@ class Guild(Cog): else: await self.bot.generate_embed(ctx, desc=f"**Role Persist is already disabled within {ctx.guild}!**") - @group(name="modlogs", case_insensitive=True, usage="``") + @group(name="modlogs", case_insensitive=True, usage="``") @has_permissions(manage_guild=True) @bot_has_permissions(embed_links=True) async def modlogs(self, ctx):