Переглянути джерело

Updated the /delete command. Added a Message when amout < 100, also made it more efficent.

BaumSplitter41 3 місяців тому
батько
коміт
1c538fbce7
1 змінених файлів з 17 додано та 13 видалено
  1. 17 13
      VPD_BOT/cogs/delete_msg.py

+ 17 - 13
VPD_BOT/cogs/delete_msg.py

@@ -10,26 +10,30 @@ class delete(commands.Cog):
 
 
 #Command initialization
-    @slash_command(name="delete", description="Delete a Number message from this server")
+    @slash_command(name="delete", description="Delete a amount messages from this server")
     async def delete(
             self,
             ctx,
-            amount: int = Option(int, "Select Number of the message to delete", required=True),
+            amount: int = Option(int, "Select the amount of the messages to delete", required=True),
         ):
-        if amount is None or amount <= 0:
-            await ctx.respond("Please provide a valid number greater than 0.", ephemeral=True)
-            return
         if not ctx.author.guild_permissions.manage_messages:
             await ctx.respond("You don't have the permission to use this command!", ephemeral=True)
             return
-        deleted_messages = []
-        async for msg in ctx.channel.history(limit=amount):
-            deleted_messages.append(msg)
-        if len(deleted_messages) == 0:
-            await ctx.respond("No messages found to delete.", ephemeral=True)
-            return
-        await ctx.channel.delete_messages(deleted_messages)
-        await ctx.respond(f"Deleted {len(deleted_messages) - 1} messages.", ephemeral=True)
+        else:
+            if amount is None or amount <= 0:
+                await ctx.respond("Please provide a valid number greater than 0.", ephemeral=True)
+                return
+            elif amount > 100:
+                await ctx.respond("You can only delete up to 100 messages at a time.", ephemeral=True)
+                return
+            deleted_messages = []
+            async for msg in ctx.channel.history(limit=amount):
+                deleted_messages.append(msg)
+            if len(deleted_messages) == 0:
+                await ctx.respond("No messages found to delete.", ephemeral=True)
+                return
+            await ctx.channel.delete_messages(deleted_messages)
+            await ctx.respond(f"Deleted {len(deleted_messages)} messages.", ephemeral=True)
 
 def setup(bot: discord.Bot):
     bot.add_cog(delete(bot))