From 983678f65671c50d6e1720d1c1463057f0c4aec6 Mon Sep 17 00:00:00 2001 From: BrokenFire Date: Tue, 12 Dec 2017 01:06:58 +0100 Subject: [PATCH] it is time to welcome............... Spring!!!!! --- .gitignore | 3 + Heroku/log4j2.xml | 2 +- build.gradle | 39 +++++ gradle/wrapper/gradle-wrapper.properties | 6 + gradlew | 172 ++++++++++++++++++++++ gradlew.bat | 84 +++++++++++ pom.xml | 67 --------- src/main/java/net/Broken/BotListener.java | 1 - src/main/java/net/Broken/Init.java | 116 +++++++++++++++ src/main/java/net/Broken/MainBot.java | 142 +++--------------- src/main/resources/log4j2.xml | 25 ++++ 11 files changed, 469 insertions(+), 188 deletions(-) create mode 100644 build.gradle create mode 100644 gradle/wrapper/gradle-wrapper.properties create mode 100644 gradlew create mode 100644 gradlew.bat delete mode 100644 pom.xml create mode 100644 src/main/java/net/Broken/Init.java create mode 100644 src/main/resources/log4j2.xml diff --git a/.gitignore b/.gitignore index 498075f..66dd58c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,11 @@ .idea/ +.gradle config/ lib/ logs/ out/ + +/build/ *.iml META-INF/ *.uml diff --git a/Heroku/log4j2.xml b/Heroku/log4j2.xml index c368ca3..c776217 100644 --- a/Heroku/log4j2.xml +++ b/Heroku/log4j2.xml @@ -2,7 +2,7 @@ - + - 3.3.1_303 - - - org.apache.logging.log4j - log4j-slf4j-impl - 2.9.1 - - - - - - \ No newline at end of file diff --git a/src/main/java/net/Broken/BotListener.java b/src/main/java/net/Broken/BotListener.java index 8361170..84d9c69 100644 --- a/src/main/java/net/Broken/BotListener.java +++ b/src/main/java/net/Broken/BotListener.java @@ -22,7 +22,6 @@ import net.dv8tion.jda.core.hooks.ListenerAdapter; import net.dv8tion.jda.core.managers.GuildManager; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import sun.security.tools.keytool.Main; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/net/Broken/Init.java b/src/main/java/net/Broken/Init.java new file mode 100644 index 0000000..a394f9a --- /dev/null +++ b/src/main/java/net/Broken/Init.java @@ -0,0 +1,116 @@ +package net.Broken; + +import net.Broken.Commandes.*; +import net.Broken.Commandes.Over18.*; +import net.Broken.Outils.DayListener; +import net.dv8tion.jda.core.AccountType; +import net.dv8tion.jda.core.JDA; +import net.dv8tion.jda.core.JDABuilder; +import net.dv8tion.jda.core.OnlineStatus; +import net.dv8tion.jda.core.entities.Game; +import net.dv8tion.jda.core.entities.Guild; +import net.dv8tion.jda.core.entities.Member; +import net.dv8tion.jda.core.exceptions.RateLimitedException; +import net.dv8tion.jda.core.managers.GuildManager; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import javax.security.auth.login.LoginException; +import java.util.List; + +public class Init { + static private Logger logger = LogManager.getLogger(); + + static JDA initBot(String token, boolean dev){ + boolean okInit; + JDA jda = null; + logger.info("-------------------INITIALISATION-------------------"); + + //Bot démarrer sans token + if (token == null) { + logger.fatal("Veuilliez indiquer le token du bot en argument..."); + okInit=false; + } + else + { + //Token présent + try + { + + logger.info("Connection au serveur..."); + //connection au bot + jda = new JDABuilder(AccountType.BOT).addEventListener(new BotListener()).setToken(token).setBulkDeleteSplittingEnabled(false).buildBlocking(); + jda.setAutoReconnect(true); + jda.addEventListener(); + + /************************************* + * Definition des commande * + *************************************/ + jda.getPresence().setGame(Game.of("Statut: Loading...")); + jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); + MainBot.commandes.put("ping", new PingCommande()); + MainBot.commandes.put("help", new Help()); + MainBot.commandes.put("move", new Move()); + MainBot.commandes.put("spam", new Spam()); + MainBot.commandes.put("spaminfo", new SpamInfo()); + MainBot.commandes.put("flush", new Flush()); + MainBot.commandes.put("music", new Music()); + + if (!dev) { + MainBot.commandes.put("ass", new Ass()); + jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); + MainBot.commandes.put("boobs", new Boobs()); + jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); + MainBot.commandes.put("pipe", new Pipe()); + jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); + MainBot.commandes.put("sm", new SM()); + MainBot.commandes.put("madame", new Madame()); + MainBot.commandes.put("cat", new Cat()); + } + + + //On recupere le l'id serveur + Guild serveur = jda.getGuilds().get(0); + + //on recupere les utilisateur + List utilisateurCo = serveur.getMembers(); + + logger.info("Utilisatieur connecté: "); + for (Member anUtilisateurCo : utilisateurCo) + { + if (anUtilisateurCo.getOnlineStatus().equals(OnlineStatus.ONLINE)) + logger.info("\t*" + anUtilisateurCo.getEffectiveName()); + } + + logger.info("Utilisatieur absent: "); + for (Member anUtilisateurCo : utilisateurCo) + { + if (anUtilisateurCo.getOnlineStatus().equals(OnlineStatus.DO_NOT_DISTURB)) + logger.info("\t*" + anUtilisateurCo.getEffectiveName()); + } + + logger.info("Utilisatieur hors ligne: "); + for (Member anUtilisateurCo : utilisateurCo) + { + if (anUtilisateurCo.getOnlineStatus().equals(OnlineStatus.OFFLINE)) + logger.info("\t*" + anUtilisateurCo.getEffectiveName()); + } + + MainBot.ModoTimer modotimer = new MainBot.ModoTimer(); + modotimer.start(); + DayListener dayListener = new DayListener(); + dayListener.start(); + logger.info("-----------------FIN INITIALISATION-----------------"); + + jda.getPresence().setGame(Game.of("Statut: Ok!")); + + } + catch (LoginException | InterruptedException | RateLimitedException e) + { + logger.catching(e); + } + } + + return jda; + } +} diff --git a/src/main/java/net/Broken/MainBot.java b/src/main/java/net/Broken/MainBot.java index 0ab0886..9ff8eb6 100644 --- a/src/main/java/net/Broken/MainBot.java +++ b/src/main/java/net/Broken/MainBot.java @@ -1,37 +1,32 @@ package net.Broken; -import net.Broken.Commandes.*; -import net.Broken.Commandes.Over18.*; import net.Broken.Outils.CommandParser; -import net.Broken.Outils.DayListener; import net.Broken.Outils.EmbedMessageUtils; import net.Broken.Outils.UserSpamUtils; -import net.Broken.audio.AudioM; -import net.dv8tion.jda.core.*; -import net.dv8tion.jda.core.entities.*; +import net.dv8tion.jda.core.JDA; +import net.dv8tion.jda.core.entities.ChannelType; +import net.dv8tion.jda.core.entities.Message; +import net.dv8tion.jda.core.entities.User; import net.dv8tion.jda.core.events.message.MessageReceivedEvent; -import net.dv8tion.jda.core.exceptions.RateLimitedException; -import net.dv8tion.jda.core.managers.GuildManager; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import org.springframework.boot.ExitCodeGenerator; +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.ConfigurableApplicationContext; -import javax.security.auth.login.LoginException; -import java.io.IOException; import java.util.ArrayList; import java.util.HashMap; -import java.util.List; /** * Created by seb65 on 19/10/2016. */ +@SpringBootApplication public class MainBot { - private static boolean dev = false; - private static String token = null; - private static JDA jda; + public static final CommandParser parser =new CommandParser(); public static HashMap commandes = new HashMap<>(); - public static boolean okInit=false; public static HashMap> historique =new HashMap<>(); public static HashMap message_compteur =new HashMap<>(); public static boolean roleFlag = false; @@ -42,12 +37,16 @@ public class MainBot { private static Logger logger = LogManager.getLogger(); - public static void main(String[] args) throws IOException { + public static void main(String[] args) { + ConfigurableApplicationContext ctx = SpringApplication.run(MainBot.class, args); logger.trace("trace"); logger.debug("debug"); logger.info("info"); logger.warn("warn"); logger.error("error"); + + boolean dev = false; + String token = null; int i = 0; for(String aArg: args){ logger.debug(aArg); @@ -63,107 +62,13 @@ public class MainBot { i++; } - - /**************************** - * Initialisation * - ****************************/ - logger.info("-------------------INITIALISATION-------------------"); - //Bot démarrer sans token - if (token == null) { - logger.fatal("Veuilliez indiquer le token du bot en argument..."); - okInit=false; + JDA jda = Init.initBot(token, dev); + if(jda == null) { + System.exit(SpringApplication.exit(ctx, (ExitCodeGenerator) () -> { + logger.fatal("Init error! Close application!"); + return 1; + })); } - else - { - //Token présent - try - { - - logger.info("Connection au serveur..."); - //connection au bot - jda = new JDABuilder(AccountType.BOT).addEventListener(new BotListener()).setToken(token).setBulkDeleteSplittingEnabled(false).buildBlocking(); - jda.setAutoReconnect(true); - jda.addEventListener(); - okInit=true; - - } - catch (LoginException | InterruptedException | RateLimitedException e) - { - logger.catching(e); - okInit=false; - } - } - - //Connection reussi - if(okInit) - { - /************************************* - * Definition des commande * - *************************************/ - jda.getPresence().setGame(Game.of("Statut: Loading...")); - jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); - commandes.put("ping", new PingCommande()); - commandes.put("help",new Help()); - commandes.put("move", new Move()); - commandes.put("spam", new Spam()); - commandes.put("spaminfo",new SpamInfo()); - commandes.put("flush",new Flush()); - commandes.put("music",new Music()); - - if(!dev){ - commandes.put("ass",new Ass()); - jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); - commandes.put("boobs",new Boobs()); - jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); - commandes.put("pipe",new Pipe()); - jda.getTextChannels().forEach(textChannel -> textChannel.sendTyping().queue()); - commandes.put("sm",new SM()); - commandes.put("madame",new Madame()); - commandes.put("cat",new Cat()); - } - - - - //On recupere le l'id serveur - Guild serveur = jda.getGuilds().get(0); - - - //On recupere le serveur manageur - GuildManager guildManager = serveur.getManager(); - - //on recupere les utilisateur - List utilisateurCo = serveur.getMembers(); - - logger.info("Utilisatieur connecté: "); - for (Member anUtilisateurCo : utilisateurCo) //= for(int i=0; i + + + + + + + + + + + + + +