From 4c87c66addbdf67f3392a8fef823c3afba574c1b Mon Sep 17 00:00:00 2001 From: Paillat Date: Thu, 9 Mar 2023 16:49:42 +0100 Subject: [PATCH] added 60 sec. report cooldown --- code/code.py | 7 ++++++- code/cogs/chat.py | 29 +++++++++++++++++++---------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/code/code.py b/code/code.py index 099c1d5..f381a6e 100644 --- a/code/code.py +++ b/code/code.py @@ -26,4 +26,9 @@ bot.run(discord_token) # run the bot @bot.event async def on_ready(): await bot.change_presence(activity=discord.Activity(type=discord.ActivityType.watching, name="your messages to answer you")) - debug("Bot is ready") \ No newline at end of file + debug("Bot is ready") + +@bot.event +async def on_application_command_error(ctx, error): + debug(error) + await ctx.respond(error, ephemeral=True) \ No newline at end of file diff --git a/code/cogs/chat.py b/code/cogs/chat.py index 4ef117b..04d4f1f 100644 --- a/code/cogs/chat.py +++ b/code/cogs/chat.py @@ -1,4 +1,5 @@ import discord +from discord.ext import commands from config import debug, c, max_uses, cp, conn, connp, webhook_url import makeprompt as mp import aiohttp @@ -18,18 +19,17 @@ class MyModal(discord.ui.Modal): session = aiohttp.ClientSession() webhook = discord.Webhook.from_url(webhook_url, session=session) embed = discord.Embed(title="Downvote", description=f"Downvote recieved!", color=discord.Color.og_blurple()) - embed.add_field(name="Reason", value=self.children[0].value) - embed.add_field(name="Author", value=self.message.author.mention) - embed.add_field(name="Channel", value=self.message.channel.name) - embed.add_field(name="Guild", value=self.message.guild.name) - msgembed = discord.Embed(title="Messages", description=f"Messages history", color=discord.Color.og_blurple()) + embed.add_field(name="Reason", value=self.children[0].value, inline=True) + embed.add_field(name="Author", value=self.message.author.mention, inline=True) + embed.add_field(name="Channel", value=self.message.channel.name, inline=True) + embed.add_field(name="Guild", value=self.message.guild.name, inline=True) history = await self.message.channel.history(limit=5).flatten() - for message in history: - msgembed.add_field(name=message.author.name, value=message.content, inline=False) - embeds = [embed, msgembed] - await webhook.send(embeds=embeds) + for msg in history: + embed.add_field(name="Message", value=msg.content, inline=False) + await webhook.send(embed=embed) except Exception as e: debug(e) + debug("Error while sending webhook, probably no webhook is set up in the .env file") class Chat (discord.Cog) : @@ -60,6 +60,15 @@ class Chat (discord.Cog) : @discord.message_command(name="Downvote", description="Downvote a message") + @commands.cooldown(1, 60, commands.BucketType.user) async def downvote(self, ctx: discord.ApplicationContext, message: discord.Message): modal = MyModal(message) - await ctx.send_modal(modal) \ No newline at end of file + await ctx.send_modal(modal) + + @downvote.error + async def downvote_error(self, ctx, error): + if isinstance(error, commands.CommandOnCooldown): + await ctx.respond("You are on cooldown !", ephemeral=True) + else: + debug(error) + raise error \ No newline at end of file