global event
This commit is contained in:
parent
d2bfe8cbe3
commit
4ec7313a72
3 changed files with 27 additions and 21 deletions
|
@ -1,8 +1,7 @@
|
|||
import discord
|
||||
from discord.ext import commands, tasks
|
||||
from discord_slash import cog_ext
|
||||
from utils.reminder import Reminder
|
||||
from utils.page import embedListeReminder, listReaction
|
||||
from utils.reminder import Reminder, embedListeReminder
|
||||
from utils.core import getURLsInString, getMentionInString, isSlash, mySendHidden
|
||||
from utils.core import addReaction, mentionToUser, cleanCodeStringWithMentionAndURLs
|
||||
from utils.time import stringTempsVersSecondes, nowUTC, intToDatetime, timedeltaToString
|
||||
|
@ -178,20 +177,6 @@ class ReminderDiscord(commands.Cog, name="Reminder"):
|
|||
else:
|
||||
return await self._reminderlist(ctx, userorpage, True)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_raw_reaction_add(self, payload):
|
||||
"""Triggered when a reaction is added"""
|
||||
message, embed = await listReaction(0, self.client, payload)
|
||||
if message:
|
||||
await message.edit(embed = embed)
|
||||
|
||||
@commands.Cog.listener()
|
||||
async def on_raw_reaction_remove(self, payload):
|
||||
"""Triggered when a reaction is removed"""
|
||||
message, embed = await listReaction(0, self.client, payload)
|
||||
if message:
|
||||
await message.edit(embed = embed)
|
||||
|
||||
@commands.command(name='reminderdelete', aliases=["reminddelete", "rd"])
|
||||
async def _reminderdelete(self, ctx, *id):
|
||||
"""Suppprime un rappel.\n ➡ Syntaxe: {PREFIX}reminderdelete/rd <id>"""
|
||||
|
|
16
src/main.py
16
src/main.py
|
@ -6,6 +6,7 @@ from discord_slash import SlashCommand
|
|||
from discord.ext import commands
|
||||
from utils.reminder import Reminder
|
||||
from utils.core import load, addReaction
|
||||
from utils.page import listReaction
|
||||
keys = load(["PREFIX", "TOKEN_DISCORD", "DEACTIVATE"])
|
||||
customPrefix = keys["PREFIX"]
|
||||
|
||||
|
@ -74,5 +75,20 @@ async def on_message(message):
|
|||
prefix = await client.get_prefix(message)
|
||||
await ctx.send(f">>> Coucou !\nMon préfix est `{prefix}` et ma commande d'aide est `{prefix}help`")
|
||||
|
||||
"""Ses évenements sont pour le reminder et le todo"""
|
||||
@client.event
|
||||
async def on_raw_reaction_add(payload):
|
||||
"""Triggered when a reaction is added"""
|
||||
message, embed = await listReaction(client, payload)
|
||||
if message:
|
||||
await message.edit(embed = embed)
|
||||
|
||||
@client.event
|
||||
async def on_raw_reaction_remove(payload):
|
||||
"""Triggered when a reaction is removed"""
|
||||
message, embed = await listReaction(client, payload)
|
||||
if message:
|
||||
await message.edit(embed = embed)
|
||||
|
||||
print("Connexion à Discord...", end = " ")
|
||||
client.run(keys["TOKEN_DISCORD"])
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
from re import findall
|
||||
from utils.reminder import embedListeReminder
|
||||
from utils.todo import embedListeToDo
|
||||
from re import findall
|
||||
|
||||
async def listReaction(type: int, client, payload):
|
||||
async def listReaction(client, payload):
|
||||
"""
|
||||
Gère le changement de page du reminderlist ou du todolist avec les réactions.
|
||||
Types: 0 -> reminder | 1 -> todo
|
||||
|
@ -18,7 +18,14 @@ async def listReaction(type: int, client, payload):
|
|||
embed = message.embeds[0].to_dict()
|
||||
if "description" in embed: # si c'est un embed avec une description
|
||||
if len(findall(r"\*\*(Rappels?|To Do('s)?) de <@\!?\d+>\*\* • Page \d+\/\d+", embed["description"])) == 1: # si c'est le bon embed
|
||||
infoDescription = findall(r"\*\*Rappels? de <@\!?(\d+)>\*\* • Page (\d+)\/(\d+)", embed["description"])[0]
|
||||
infoDescription = findall(r"\*\*(Rappels?|To Do('s)?) de <@\!?(\d+)>\*\* • Page (\d+)\/(\d+)", embed["description"])[0]
|
||||
if "Rappel" in infoDescription[0]:
|
||||
type = 0
|
||||
elif "To Do" in infoDescription[0]:
|
||||
type = 1
|
||||
else:
|
||||
raise Exception("Unknown type")
|
||||
infoDescription = infoDescription[2:]
|
||||
utilisateur = client.get_user(int(infoDescription[0]))
|
||||
page = int(infoDescription[1])
|
||||
refresh_message = None
|
||||
|
@ -44,8 +51,6 @@ async def listReaction(type: int, client, payload):
|
|||
embed, _, refresh = await embedListeReminder(utilisateur, payload.guild_id, page, embed["color"], refresh_message)
|
||||
elif type == 1:
|
||||
embed, _, refresh = await embedListeToDo(utilisateur, page, embed["color"], refresh_message)
|
||||
else:
|
||||
raise Exception("Unknown type")
|
||||
if embed == False:
|
||||
return False, False
|
||||
if refresh == True:
|
||||
|
|
Reference in a new issue