Ver código fonte

Added a function to delete a user entered number of messages.

BaumSplitter41 3 meses atrás
pai
commit
4185000c8a
1 arquivos alterados com 37 adições e 0 exclusões
  1. 37 0
      VPD_BOT/cogs/delete_msg.py

+ 37 - 0
VPD_BOT/cogs/delete_msg.py

@@ -0,0 +1,37 @@
+import discord
+from discord.ext import commands
+from discord.commands import Option
+from discord.commands import slash_command
+
+
+class delete(commands.Cog):
+    def __init__(self, bot: discord.Bot):
+        self.bot = bot
+
+
+#Command initialization
+    @slash_command(name="delete", description="Delete a Number message from this server")
+    async def delete(
+            self,
+            ctx,
+            numbermsg: int = Option(int, "Select Number of the message to delete"),
+        ):
+        if numbermsg < 1:
+            await ctx.respond("Please provide a valid number greater than 0.", ephemeral=True)
+            return
+        if auth := ctx.author.guild_permissions.manage_messages:
+            pass
+        else:
+            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=numbermsg + 1):
+            deleted_messages.append(msg)
+        if len(deleted_messages) <= 1:
+            await ctx.respond("No messages found to delete.", ephemeral=True)
+            return
+        await ctx.channel.delete_messages(deleted_messages[1:])
+        await ctx.respond(f"Deleted {len(deleted_messages) - 1} messages.", ephemeral=True)
+
+def setup(bot: discord.Bot):
+    bot.add_cog(delete(bot))