From 5d9be532901232d4c7c0ca842753a364bf86d686 Mon Sep 17 00:00:00 2001 From: Mylloon Date: Wed, 16 Jun 2021 01:20:42 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20guild=20pour=20=C3=A9viter=20de=20suppr?= =?UTF-8?q?imer=20le=20mauvais=20reminder?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/cogs/utils.py | 4 ++-- src/utils/reminder.py | 16 +++++++--------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/cogs/utils.py b/src/cogs/utils.py index c92d497..dea0949 100644 --- a/src/cogs/utils.py +++ b/src/cogs/utils.py @@ -654,7 +654,7 @@ class Utils(commands.Cog): else: return await ctx.send("Veuillez renseigner un ID.") - verification = Reminder().appartenanceReminder(ctx.author.id, id) + verification = Reminder().appartenanceReminder(ctx.author.id, id, ctx.guild.id) if verification: Reminder().suppressionReminder(id) if fromSlash != True: @@ -663,7 +663,7 @@ class Utils(commands.Cog): else: if fromSlash != True: await ctx.message.add_reaction(emoji = '❌') - return await ctx.send("Rappel non trouvé ou qui ne vous appartiens pas.") + return await ctx.send("Rappel non trouvé, pas sur le bon serveur ou qui ne vous appartiens pas.") @cog_ext.cog_slash(name="reminderdelete", description = "Suppprime un rappel.") async def __reminderdelete(self, ctx, id): return await self._reminderdelete(ctx, id, True) diff --git a/src/utils/reminder.py b/src/utils/reminder.py index c0419f5..6e262f7 100644 --- a/src/utils/reminder.py +++ b/src/utils/reminder.py @@ -56,14 +56,12 @@ class Reminder(Database): """ return self.affichageResultat(self.requete(requete, time)) - def appartenanceReminder(self, user = int, id = int): - """Vérifie qu'un rappel appartiens à un utilisateur. Renvois False si le rappel n'existe pas.""" + def appartenanceReminder(self, user = int, id = int, guildID = int): + """Vérifie qu'un rappel appartiens à un utilisateur et que la guilde soit la bonne. Renvois False si le rappel n'existe pas.""" requete = """ - SELECT user_id, id, message_id FROM reminder - WHERE id = ? AND user_id = ? + SELECT EXISTS ( + SELECT 1 FROM reminder + WHERE id = ? AND user_id = ? AND (guild_id = ? OR guild_id = 0) + ) """ - resultat = self.affichageResultat(self.requete(requete, [id, user])) - if len(resultat) > 0: - return True - else: - return False + return True if self.affichageResultat(self.requete(requete, [id, user, guildID]))[0][0] == 1 else False