From 6a33d8a6a2e243b27ea72b991d79746a371fcf06 Mon Sep 17 00:00:00 2001 From: supopur Date: Sat, 18 Mar 2023 09:40:41 +0100 Subject: [PATCH] I added the option to disable/enable commands in the config.toml --- commands.py | 39 +++++++++++++++++++++++++++++++++++++++ config.toml | 16 ++++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/commands.py b/commands.py index 249a0d0..4b7b05e 100644 --- a/commands.py +++ b/commands.py @@ -7,21 +7,34 @@ with open("config.toml", "r") as f: config = toml.load(f) guild_ids=config["bot"]["guild_ids"] +with open("cogs/essentials/config.toml", "r") as f: + esconf = toml.load(f) + class EssentialCommands(commands.Cog): def __init__(self, bot): self.bot = bot @commands.slash_command(guild_ids=guild_ids) async def ping(self, ctx): + if not esconf["commands"]["ping"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.respond('Pong!') @commands.slash_command(guild_ids=guild_ids) @option('msg', description="The message to say.") async def say(self, ctx, message): + if not esconf["commands"]["say"]: + await ctx.respond("This command is disabled.") + return 0 + await ctx.send(message) @commands.slash_command(guild_ids=guild_ids) async def serverinfo(self, ctx): + if not esconf["commands"]["serverinfo"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() @@ -45,6 +58,9 @@ class EssentialCommands(commands.Cog): @option('ammount', description="The of messages to clear.", required=True) @commands.has_permissions(manage_messages=True) async def clean(self, ctx, amount: int = 10): + if not esconf["commands"]["clean"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() try: await ctx.channel.purge(limit=amount + 1) @@ -56,6 +72,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @commands.has_permissions(manage_channels=True) async def lock(self, ctx, *, reason=None): + if not esconf["commands"]["lock"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() channel = ctx.channel overwrite = channel.overwrites_for(ctx.guild.default_role) @@ -68,6 +87,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @commands.has_permissions(manage_channels=True) async def unlock(self, ctx, *, reason=None): + if not esconf["commands"]["unlock"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() channel = ctx.channel overwrite = channel.overwrites_for(ctx.guild.default_role) @@ -80,6 +102,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @commands.has_permissions(manage_channels=True) async def lockdown(self, ctx, *, reason=None): + if not esconf["commands"]["lockdown"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() for channel in ctx.guild.channels: if isinstance(channel, discord.TextChannel): @@ -93,6 +118,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @commands.has_permissions(manage_channels=True) async def unlockdown(self, ctx): + if not esconf["commands"]["unlockdown"]: + await ctx.respond("This command is disabled.") + return 0 await ctx.defer() for channel in ctx.guild.channels: if isinstance(channel, discord.TextChannel): @@ -107,6 +135,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @option('user', description="The username of the user you want the avatars picture incl 1234 numbers", required=True) async def avatar(self, ctx, member: discord.Member): + if not esconf["commands"]["avatar"]: + await ctx.respond("This command is disabled.") + return 0 try: avatar_url = member.avatar.url except: @@ -118,6 +149,9 @@ class EssentialCommands(commands.Cog): @commands.slash_command(guild_ids=guild_ids) @option('member', description="The username of the user to run the check on.") async def whois(self, ctx, member: discord.Member = None): + if not esconf["commands"]["whois"]: + await ctx.respond("This command is disabled.") + return 0 member = member or ctx.author roles = [role.mention for role in member.roles[1:]] if not roles: @@ -130,6 +164,8 @@ class EssentialCommands(commands.Cog): embed.add_field(name="ID", value=member.id, inline=False) embed.add_field(name="Account Created", value=member.created_at.strftime("%d/%m/%Y %H:%M:%S"), inline=False) embed.add_field(name="Join Date", value=member.joined_at.strftime("%d/%m/%Y %H:%M:%S"), inline=False) + if not member.activity == None: + embed.add_field(name="Activity", value=member.activity, inline=False) embed.add_field(name="Roles", value=" ".join(roles), inline=False) await ctx.send(embed=embed) @@ -140,6 +176,9 @@ class EssentialCommands(commands.Cog): @option('footer', description="The lower text.", required=False) @option('color', description="The color as a word example: Color: dark_blue", required=False) async def embed(self, ctx, title: str, content: str, color: str = None, footer: str = None): + if not esconf["commands"]["embed"]: + await ctx.respond("This command is disabled.") + return 0 embed = discord.Embed(title=title, description=content) if color: diff --git a/config.toml b/config.toml index e69de29..1c317fc 100644 --- a/config.toml +++ b/config.toml @@ -0,0 +1,16 @@ +[cli] +enabled = true + +[commands] +ping = true +say = true +serverinfo = true +avatar = true +whois = true +embed = true +clean = true +lock = true +unlock = true +lockdown = true +unlockdown = true +