Mise à jour de l'API Julia

This commit is contained in:
Mysaa 2021-07-27 11:50:56 +02:00
parent 8da5d0b037
commit 6f6da786b2

View File

@ -13,11 +13,11 @@ import java.util.Map.Entry;
import java.util.Set; import java.util.Set;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import com.bernard.juliabot.api.Command; import com.bernard.juliabot.api.CCommandeDiscord;
import com.bernard.juliabot.api.Discord; import com.bernard.juliabot.api.Commande;
import com.bernard.juliabot.api.DiscordCCommande; import com.bernard.juliabot.api.EventDiscord;
import com.bernard.juliabot.api.JuLIAddon; import com.bernard.juliabot.api.Julia;
import com.bernard.juliabot.api.Trukilie; import com.bernard.juliabot.api.Juliaddon;
import com.bernard.julianatheme.JuLIAnatheme.InvalidAnathemDescriptionException; import com.bernard.julianatheme.JuLIAnatheme.InvalidAnathemDescriptionException;
import net.dv8tion.jda.api.EmbedBuilder; import net.dv8tion.jda.api.EmbedBuilder;
@ -30,7 +30,7 @@ import net.dv8tion.jda.api.entities.User;
import net.dv8tion.jda.api.events.Event; import net.dv8tion.jda.api.events.Event;
import net.dv8tion.jda.api.events.GenericEvent; import net.dv8tion.jda.api.events.GenericEvent;
@JuLIAddon(name = "julianatheme",devs="Mysaa",version = "20w33a") @Juliaddon(nom = "julianatheme",devs="Mysaa",version = "20w33a")
public class JuliAnathemeManager { public class JuliAnathemeManager {
@ -47,7 +47,7 @@ public class JuliAnathemeManager {
reloadAnathemes(); // La commande ne sert à rien reloadAnathemes(); // La commande ne sert à rien
} }
@Discord(description="Lance les évents de toutes les malédictions chagées") @EventDiscord(description="Lance les évents de toutes les malédictions chagées")
public void anathemeEvent(GenericEvent e){ public void anathemeEvent(GenericEvent e){
Set<Method> callList = registeredEvents.getOrDefault(e.getClass(), Set.of()); Set<Method> callList = registeredEvents.getOrDefault(e.getClass(), Set.of());
for(Method m : callList) { for(Method m : callList) {
@ -63,7 +63,7 @@ public class JuliAnathemeManager {
} }
} }
@Command(admin=true,name="reloadAnathemes",description="Recharge la liste des anathèmes") @Commande(admin=true,name="reloadAnathemes",description="Recharge la liste des anathèmes")
public void reloadAnathemes() { public void reloadAnathemes() {
nomsDAffichage.clear(); nomsDAffichage.clear();
registeredAnathemes.clear(); registeredAnathemes.clear();
@ -71,7 +71,7 @@ public class JuliAnathemeManager {
anathemes.clear(); anathemes.clear();
try { try {
ResultSet sqlResult = Trukilie.juliaDB().createStatement() ResultSet sqlResult = Julia.juliaBDD().createStatement()
.executeQuery("SELECT nom,classe_java,nom_affichage FROM julianathemes.anathemes"); .executeQuery("SELECT nom,classe_java,nom_affichage FROM julianathemes.anathemes");
while (sqlResult.next()) { while (sqlResult.next()) {
@ -98,8 +98,8 @@ public class JuliAnathemeManager {
System.out.println("Anathèmes enregistrés: "+registeredAnathemes.keySet()); System.out.println("Anathèmes enregistrés: "+registeredAnathemes.keySet());
} }
@Command(admin=true,name="maudir",description="Maudit une personne. Usage 'maudir <@pseudo> <type> <extra>") @Commande(admin=true,name="maudir",description="Maudit une personne. Usage 'maudir <@pseudo> <type> <extra>")
public void maudir(DiscordCCommande commande) { public void maudir(CCommandeDiscord commande) {
Message m = commande.getMessage(); Message m = commande.getMessage();
Guild g = m.getGuild(); Guild g = m.getGuild();
@ -170,8 +170,8 @@ public class JuliAnathemeManager {
} }
@Command(admin=true,name="oracle",description="Demande à l'oracle, quelles sont les maledictions planant sur une personne. Usage: 'oracle <@pseudo>") @Commande(admin=true,name="oracle",description="Demande à l'oracle, quelles sont les maledictions planant sur une personne. Usage: 'oracle <@pseudo>")
public void oracle(DiscordCCommande commande) { public void oracle(CCommandeDiscord commande) {
Message m = commande.getMessage(); Message m = commande.getMessage();
Guild g = m.getGuild(); Guild g = m.getGuild();
@ -207,8 +207,8 @@ public class JuliAnathemeManager {
m.getChannel().sendMessageEmbeds(dumper.build()).complete(); m.getChannel().sendMessageEmbeds(dumper.build()).complete();
} }
@Command(admin=true,name="exorciser",description="Excorcise une personne (lui enlève sa malediction). Usage 'exorciser <@pseudo> <type>") @Commande(admin=true,name="exorciser",description="Excorcise une personne (lui enlève sa malediction). Usage 'exorciser <@pseudo> <type>")
public void exorciser(DiscordCCommande commande) { public void exorciser(CCommandeDiscord commande) {
Message m = commande.getMessage(); Message m = commande.getMessage();
Guild g = m.getGuild(); Guild g = m.getGuild();
@ -277,7 +277,6 @@ public class JuliAnathemeManager {
for(Method m : mtds) { for(Method m : mtds) {
if(m.getAnnotationsByType(EventReciever.class).length > 0) { if(m.getAnnotationsByType(EventReciever.class).length > 0) {
Class<?>[] pmts = m.getParameterTypes(); Class<?>[] pmts = m.getParameterTypes();
System.out.println(Arrays.toString(pmts));
if(pmts.length != 1 || (!GenericEvent.class.isAssignableFrom(pmts[0]))){ if(pmts.length != 1 || (!GenericEvent.class.isAssignableFrom(pmts[0]))){
System.err.println("La methode "+m.getName()+" de la classe "+clazz.getName()+" possède l'annotation EventReciever mais ne possède pas un seul argument de type enfant de GenericEvent"); System.err.println("La methode "+m.getName()+" de la classe "+clazz.getName()+" possède l'annotation EventReciever mais ne possède pas un seul argument de type enfant de GenericEvent");
return; return;
@ -286,7 +285,6 @@ public class JuliAnathemeManager {
Class<? extends Event> vraieClasse = (Class<? extends Event>) pmts[0]; Class<? extends Event> vraieClasse = (Class<? extends Event>) pmts[0];
registeredEvents.putIfAbsent(vraieClasse, new HashSet<>()); registeredEvents.putIfAbsent(vraieClasse, new HashSet<>());
registeredEvents.get(vraieClasse).add(m); registeredEvents.get(vraieClasse).add(m);
} }
} }
registeredAnathemes.put(name, clazz); registeredAnathemes.put(name, clazz);