  TODO:
    - Donner acces a la fonction qui recup le bon role d'une target en tnat qu'API (celle de BestTarget)
    - doc de GEM3_EVT_RecoverLostEvent,GEM3_EVT_RejectLostEvent,GEM3_EVT_DeleteLostEvent,GEM3_EVT_AcceptUpdatedRecoveredEvent,GEM3_EVT_RejectUpdatedRecoveredEvent
    - Gerer le cas d'un mec qui s'est desinscrit (passe en not-coming), et qui veut s inscire avec un reroll (histoire de pas avoir 50000 inscrits dans un event... sinon on laisse comme ca qd mm)
    - Quand le leader recoit une queue force, il verifie qu'elle soit correcte (un assistant peut forcer un titulaire par contre)
    - Gerer le kick/ban, en utilisant le message GEM3_COM_SubscribeError()   -> "GEM3_QA_Events.kicked[ev_id][name] = nil; -- Unkick me if I was" <- struct deja en place on dirait, utilise dans GEM3_SUB_SubscribeMyself
    - Pouvoir s'inscrire avec plusieurs reroll -> mettre une autre couleur dans la liste des events (que le vert qd on est inscrit), disant qu'on est inscrit mais avec un autre reroll
    - Add a sorting plugin : By assigning points to someone (DKP like)
    - Add a sorting plugin : By auto adding ppl on a list for the event (only when already created, by using AddExternal)
    - Option to limit event creation to officers (not possible but see CanViewOfficerNote() IsGuildLeader() )
    - Quand on veut supprimer le canal special Guild, il faut que le check se fasse sur n'importe quel canal guilde present, et non pas la variable speciale auto-generee (sinon marche pas si on a chang de guilde sur un autre PC)
    - Si on detecte que le leader est connect, lui envoyer directement les commandes subscribe/unsubscribe en send (permet d eviter les commandes stock sur les autres joueurs, et permet aussi d'envoyer les commandes avec un reroll qui n'est pas dans le canal GUILD
    - GEM_commands.lua: GEM3_CMD_ReceivedCommand dans la section "but I don't know the event. DO NOT ACK", ajouter la commande dans une liste de post-processing, qu'il faut check qd on recover un event (et si on l'ignore, envoyer des msg d erreurs aux commandes)
    - Move4u: je pensais a une autre info qui pourrait etre utile a recolter, les tag d'instance des joueurs
       -> GetNumSavedInstances()   - Gets the number of instances that the player is saved to. 
       -> GetSavedInstanceInfo(index)   - Gets information about an instance that the player is saved to. 
      Kiki -> Ajouter le status courant (AFK/DND) dans le PlayerInfos (pas sur, car pas a jour avant le rescan guilde)
    - Completement changer comment les link d'obj sont envoys. Utiliser un char qcq (genre toujours le pipe), mais n'envoyer que le code de l'obj

  TODO DEBUG:
    - Afficher un warning, si on detecte la creation d'une commande qui existe deja (avec le mm timestamp quoi)

  TODO SYNC:
    - 

  TODO GUI:
    - REVOIR le code de groupage (detection more raid/group), et virer le warning si je suis deja dans un grp
    - Option de config : Combien d'heures on garde un event pass
    - Possibility to remove offline members from the list (right clic on them)
    - Panel transparency
    - Option en plus dans la config du channel: Choisir quel ChatFrame utiliser pour les messages GEM
  TODO GUI MOVIX avant alpha:
    - page des options, General, Heure standard pour "LES NOUVEAUX" events (petites erreur syntax en passant) : si je scroll down les minutes, erreur lua
    - Gestion du CB de warning en cas de conflit timeref (j'ai pas verifi)
    - "Voulez vous vraiment supprimer cette vnement" -> "Voulez vous vraiment supprimer cet vnement" :)
    - page des options, General, "canaux" au lieu de "cannaux"
  TODO GUI MOVIX:
    - Scrolling dans la liste des events: Je propose de differencier 2 cas. 1) aucun event est "ouvert", si on scroll (souris) alors ca scroll l'ascenseur. 2) un event est "ouvert", si on scroll (souris) alors ca affiche l'event suivant/precedent, quelque soit la position de l'ascenseur
    - Afficher la liste des canaux dans les options, et pouvoir ajouter un canal (guilde uniquement, mais c'est le core qui fait le check de tt facons) en mettant par ex une case a cocher lors de l'ajout pour dire que c'est le canal guilde qu'on veut (l'UI passe la constante "GUILD" au core)
    - Pouvoir ajouter une liste de pr-inscrits dans un template d'event
    - GroupAll (accessible lead/assistants)
  
  KNOWN BUGS:
   - 

 TEST:
  - Tester le "OnSortingInconsistency"
  - Attention au CrashEvent, alors qu'on est en train d'en recover un, si un autre arrive pdt qu'on en recover un (tant que RejectLost ou RecoverLost n'a pas ete appele), ignorer ceux avec un update_time <=, sinon reappeler la fonction). La gui doit gerer le cas d un update d'un lost event en cours de recover
    -> Pareil pour le UpdatedCrashedEvent
  - Coder et Tester le changement de leader
  - Tester le nouveau mode de IgnoreEvent (on change l'update_time a "1", afin que nos futurs bcast apres unignore ne soient pas pris en compte, et qu'on update notre event des le prochain bcast)

