From ad31172485c7fdb75da0be564bd84f26d1d08fc7 Mon Sep 17 00:00:00 2001 From: Sebastien Date: Sat, 28 Apr 2018 22:57:48 +0200 Subject: [PATCH] Add preference --- src/main/java/net/Broken/BotListener.java | 138 +++++++++--- .../java/net/Broken/Commands/ListRoles.java | 38 ++++ .../java/net/Broken/Commands/Preference.java | 212 ++++++++++++++++++ src/main/java/net/Broken/Commands/Test.java | 33 --- .../DB/Entity/GuildPreferenceEntity.java | 111 +++++++++ .../Broken/DB/Entity/PendingUserEntity.java | 2 + .../Repository/GuildPreferenceRepository.java | 10 + src/main/java/net/Broken/Init.java | 4 +- .../net/Broken/Tools/EmbedMessageUtils.java | 17 ++ .../Broken/Tools/UserManager/UserUtils.java | 2 +- 10 files changed, 498 insertions(+), 69 deletions(-) create mode 100644 src/main/java/net/Broken/Commands/ListRoles.java create mode 100644 src/main/java/net/Broken/Commands/Preference.java delete mode 100644 src/main/java/net/Broken/Commands/Test.java create mode 100644 src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java create mode 100644 src/main/java/net/Broken/DB/Repository/GuildPreferenceRepository.java diff --git a/src/main/java/net/Broken/BotListener.java b/src/main/java/net/Broken/BotListener.java index 89cd598..c2fed17 100644 --- a/src/main/java/net/Broken/BotListener.java +++ b/src/main/java/net/Broken/BotListener.java @@ -2,16 +2,16 @@ package net.Broken; import net.Broken.Commands.Move; import net.Broken.Commands.Music; +import net.Broken.DB.Entity.GuildPreferenceEntity; +import net.Broken.DB.Repository.GuildPreferenceRepository; +import net.Broken.DB.Repository.PlaylistRepository; import net.Broken.Tools.AntiSpam; import net.Broken.Tools.Command.CommandParser; import net.Broken.Tools.EmbedMessageUtils; import net.Broken.Tools.Moderateur; import net.Broken.Tools.PrivateMessage; import net.Broken.audio.AudioM; -import net.dv8tion.jda.core.entities.ChannelType; -import net.dv8tion.jda.core.entities.Guild; -import net.dv8tion.jda.core.entities.Member; -import net.dv8tion.jda.core.entities.TextChannel; +import net.dv8tion.jda.core.entities.*; import net.dv8tion.jda.core.events.ExceptionEvent; import net.dv8tion.jda.core.events.ReadyEvent; import net.dv8tion.jda.core.events.guild.member.GuildMemberJoinEvent; @@ -22,6 +22,10 @@ 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 org.springframework.context.ApplicationContext; + +import java.util.ArrayList; +import java.util.List; /** @@ -30,8 +34,17 @@ import org.apache.logging.log4j.Logger; public class BotListener extends ListenerAdapter { private AntiSpam antispam=new AntiSpam(); private Moderateur modo = new Moderateur(); + + private GuildPreferenceRepository guildPreferenceRepository; + private Logger logger = LogManager.getLogger(); + public BotListener() { + + ApplicationContext context = SpringContext.getAppContext(); + guildPreferenceRepository = (GuildPreferenceRepository) context.getBean("guildPreferenceRepository"); + + } @Override public void onReady(ReadyEvent event) { @@ -41,30 +54,66 @@ public class BotListener extends ListenerAdapter { @Override public void onGuildMemberJoin(GuildMemberJoinEvent event) { - logger.info(event.getUser().getName()+ "join the guild, move it!"); - new Move().exc(event.getMember(),event.getJDA().getRolesByName("Newbies",true),false,event.getGuild(),event.getGuild().getManager()); - TextChannel chanel = event.getGuild().getTextChannelsByName("accueil", true).get(0); - if(chanel != null) - chanel.sendMessage("Salut "+event.getUser().getAsMention()+"! Ecris ton nom, prénom, ta promotion et ton groupe ici! Un admin te donnera accées a ton groupe!").complete(); - MainBot.roleFlag = false; + + GuildPreferenceEntity guildPref = getPreference(event.getGuild()); + + if(guildPref.isDefaultRole()){ + + logger.info(event.getUser().getName()+ "join the guild, move it!"); + + List roles = new ArrayList<>(); + roles.add(event.getGuild().getRoleById(guildPref.getDefaultRoleId())); + + + new Move().exc(event.getMember(), roles,false,event.getGuild(),event.getGuild().getManager()); + } + + + if(guildPref.isWelcome()){ + + TextChannel chanel = event.getGuild().getTextChannelById(guildPref.getWelcomeChanelID()); + if(chanel != null){ + String message = guildPref.getWelcomeMessage(); + message = message.replaceAll("@name", event.getMember().getAsMention()); + logger.debug(message); +// "Salut "+event.getUser().getAsMention()+"! Ecris ton nom, prénom, ta promotion et ton groupe ici! Un admin te donnera accées a ton groupe!" + chanel.sendMessage(message).complete(); + } + + MainBot.roleFlag = false; + } + + } @Override public void onGuildMemberRoleRemove(GuildMemberRoleRemoveEvent event) { - logger.debug(event.getUser().getName()+" leave a role"); - if(!MainBot.roleFlag){ - if(event.getMember().getRoles().size() == 0){ - logger.info(event.getUser().getName()+ "have no roles, move it!"); - new Move().exc(event.getMember(),event.getGuild().getRolesByName("Populace",true),false,event.getGuild(),event.getGuild().getManager()); + GuildPreferenceEntity guildPref = getPreference(event.getGuild()); + if(guildPref.isDefaultRole()){ + + if(!MainBot.roleFlag){ + + if(event.getMember().getRoles().size() == 0){ + + logger.info(event.getUser().getName()+ "have no roles, move it!"); + List roles = new ArrayList<>(); + roles.add(event.getGuild().getRoleById(guildPref.getDefaultRoleId())); + + + new Move().exc(event.getMember(), roles,false,event.getGuild(),event.getGuild().getManager()); + MainBot.roleFlag = false; + } + } + else + { + logger.debug("ignore it"); MainBot.roleFlag = false; } + } - else - { - logger.debug("ignore it"); - MainBot.roleFlag = false; - } + + } @@ -87,7 +136,7 @@ public class BotListener extends ListenerAdapter { @Override public void onMessageReceived(MessageReceivedEvent event) { - // ----------------------Test pour eviter eco de commande------------------------- + // ----------------------Preference pour eviter eco de commande------------------------- try{ @@ -101,21 +150,29 @@ public class BotListener extends ListenerAdapter { { if(!event.isFromType(ChannelType.PRIVATE)) { - if (!event.getTextChannel().getName().equals("le_dongeon")) { - Guild serveur = event.getGuild(); - GuildManager guildManager = serveur.getManager(); - Member user = event.getMember(); - // appel de la methode d'analyse de message de "Moderateur" - if (!event.getAuthor().getName().equals("Aethex") && event.getMessage().getContentRaw().length() > 0) { - if (modo.analyse(user, serveur, guildManager, event) == 1) { - antispam.extermine(user, serveur, guildManager, true, event); - } - } else if (event.getMessage().getContentRaw().length() == 0) - logger.error("Image detected, ignoring it."); - } + + + + Guild serveur = event.getGuild(); + GuildPreferenceEntity guildPref = getPreference(serveur); + + if(!guildPref.isAntiSpam()) + return; + + GuildManager guildManager = serveur.getManager(); + Member user = event.getMember(); + + // appel de la methode d'analyse de message de "Moderateur" + if (event.getMessage().getContentRaw().length() > 0) { + + if (modo.analyse(user, serveur, guildManager, event) == 1) { + antispam.extermine(user, serveur, guildManager, true, event); + } + } else if (event.getMessage().getContentRaw().length() == 0) + logger.error("Image detected, ignoring it."); } @@ -133,4 +190,19 @@ public class BotListener extends ListenerAdapter { } + + + private GuildPreferenceEntity getPreference(Guild guild){ + List guildPrefList = guildPreferenceRepository.findByGuildId(guild.getId()); + GuildPreferenceEntity guildPref; + if(guildPrefList.isEmpty()){ + logger.info("Generate default pref"); + guildPref = GuildPreferenceEntity.getDefault(guild); + guildPreferenceRepository.save(guildPref); + } + else + guildPref = guildPrefList.get(0); + return guildPref; + } + } diff --git a/src/main/java/net/Broken/Commands/ListRoles.java b/src/main/java/net/Broken/Commands/ListRoles.java new file mode 100644 index 0000000..3fd9909 --- /dev/null +++ b/src/main/java/net/Broken/Commands/ListRoles.java @@ -0,0 +1,38 @@ +package net.Broken.Commands; + +import net.Broken.Commande; +import net.dv8tion.jda.core.EmbedBuilder; +import net.dv8tion.jda.core.entities.Role; +import net.dv8tion.jda.core.events.message.MessageReceivedEvent; + +import java.awt.*; +import java.util.List; + +public class ListRoles implements Commande { + @Override + public void action(String[] args, MessageReceivedEvent event) { + List roles = event.getGuild().getRoles(); + EmbedBuilder messageB = new EmbedBuilder(); + for (Role role : roles){ + messageB.addField(role.getName(),"```id: " + role.getId() + "```",false); + } + + messageB.setColor(Color.green); + event.getTextChannel().sendMessage(messageB.build()).complete(); + } + + @Override + public boolean isPrivateUsable() { + return false; + } + + @Override + public boolean isAdminCmd() { + return true; + } + + @Override + public boolean isNSFW() { + return false; + } +} diff --git a/src/main/java/net/Broken/Commands/Preference.java b/src/main/java/net/Broken/Commands/Preference.java new file mode 100644 index 0000000..5cfe449 --- /dev/null +++ b/src/main/java/net/Broken/Commands/Preference.java @@ -0,0 +1,212 @@ +package net.Broken.Commands; + +import net.Broken.Commande; +import net.Broken.DB.Entity.GuildPreferenceEntity; +import net.Broken.DB.Repository.GuildPreferenceRepository; +import net.Broken.MainBot; +import net.Broken.SpringContext; +import net.Broken.Tools.EmbedMessageUtils; +import net.Broken.Tools.MessageTimeOut; +import net.Broken.audio.AudioM; +import net.Broken.audio.NotConnectedException; +import net.Broken.audio.NullMusicManager; +import net.Broken.audio.Youtube.YoutubeTools; +import net.dv8tion.jda.core.EmbedBuilder; +import net.dv8tion.jda.core.entities.*; +import net.dv8tion.jda.core.events.message.MessageReceivedEvent; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.springframework.context.ApplicationContext; + +import java.awt.*; +import java.io.IOException; +import java.util.List; + +public class Preference implements Commande { + + private Logger logger = LogManager.getLogger(); + + private GuildPreferenceRepository guildPreferenceRepository; + + public Preference() { + + ApplicationContext context = SpringContext.getAppContext(); + guildPreferenceRepository = (GuildPreferenceRepository) context.getBean("guildPreferenceRepository"); + } + + @Override + public void action(String[] args, MessageReceivedEvent event) { + if(args.length == 0){ + GuildPreferenceEntity guildPref = getPreference(event.getGuild()); + MessageEmbed message = EmbedMessageUtils.getPref(guildPref); + event.getTextChannel().sendMessage(message).complete(); + + } + else{ + switch (args[0]){ + case "set": + if(args.length >= 3){ + StringBuilder val = new StringBuilder(); + for(int i = 2; i < args.length; i++){ + val.append(args[i]).append(" "); + } + set(event, args[1], val.toString()); + } + + else{ + + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("Missing argument.\n:arrow_right: Please use `//help preference`")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + break; + + default: + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nUnknown argument`\n\nMore info with `//help preference`")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + break; + + } + } + + + + } + + @Override + public boolean isPrivateUsable() { + return false; + } + + @Override + public boolean isAdminCmd() { + return true; + } + + @Override + public boolean isNSFW() { + return false; + } + + + private GuildPreferenceEntity getPreference(Guild guild){ + List guildPrefList = guildPreferenceRepository.findByGuildId(guild.getId()); + GuildPreferenceEntity guildPref; + if(guildPrefList.isEmpty()){ + logger.info("Generate default pref for " + guild.getName()); + guildPref = GuildPreferenceEntity.getDefault(guild); + guildPreferenceRepository.save(guildPref); + } + else + guildPref = guildPrefList.get(0); + return guildPref; + } + + + private void set(MessageReceivedEvent event, String key, String value){ + GuildPreferenceEntity pref = getPreference(event.getGuild()); + switch (key){ + case "anti_spam": + if(value.toLowerCase().equals("true") || value.toLowerCase().equals("false")){ + boolean result = Boolean.parseBoolean(value); + pref.setAntiSpam(result); + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Anti Spam", "```java\n" + String.valueOf(pref.isAntiSpam()) + "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + }else{ + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + + break; + + + case "default_role": + if(value.toLowerCase().equals("true") || value.toLowerCase().equals("false")){ + boolean result = Boolean.parseBoolean(value); + pref.setDefaultRole(result); + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Default Role", "```java\n" + String.valueOf(pref.isDefaultRole()) + "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + }else{ + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + break; + case "default_role_id": + try{ + Role role = event.getGuild().getRoleById(value); + if(role != null){ + pref.setDefaultRoleId(role.getId()); + + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Default Role ID", "```java\n" + pref.getDefaultRoleId()+ "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + + } + else + { + throw new NumberFormatException(); + } + }catch (NumberFormatException e){ + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nRole not found!\n\nUse `//listroles` to get roles id")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + + break; + case "welcome": + if(value.toLowerCase().equals("true") || value.toLowerCase().equals("false")){ + boolean result = Boolean.parseBoolean(value); + pref.setWelcome(result); + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome", "```java\n" + String.valueOf(pref.isWelcome()) + "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + }else{ + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nWrong value, expect `true` or `false`\n\nMore info with `//help preference`")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + break; + case "welcome_chanel_id": + try{ + TextChannel chanel = event.getGuild().getTextChannelById(value); + if(chanel != null){ + pref.setWelcomeChanelID(chanel.getId()); + + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome chanel ID", "```java\n" + pref.getWelcomeChanelID() + "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + + } + else + { + throw new NumberFormatException(); + } + }catch (NumberFormatException e){ + MessageEmbed msg = EmbedMessageUtils.buildStandar(EmbedMessageUtils.getError("\nRole not found!\n\nUse `//listroles` to get roles id")); + Message sended = event.getTextChannel().sendMessage(msg).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + } + break; + case "welcome_message": + pref.setWelcomeMessage(value); + pref = guildPreferenceRepository.save(pref); + EmbedBuilder eb = new EmbedBuilder().addField(":ok: Ok :ok:","",false).addField("> Welcome message", "```java\n" + pref.getWelcomeMessage() + "```", false).setColor(Color.green); + Message sended = event.getTextChannel().sendMessage(EmbedMessageUtils.buildStandar(eb)).complete(); + new MessageTimeOut(MainBot.messageTimeOut, sended, event.getMessage()).start(); + break; + + } + + + } +} diff --git a/src/main/java/net/Broken/Commands/Test.java b/src/main/java/net/Broken/Commands/Test.java deleted file mode 100644 index 34aee15..0000000 --- a/src/main/java/net/Broken/Commands/Test.java +++ /dev/null @@ -1,33 +0,0 @@ -package net.Broken.Commands; - -import net.Broken.Commande; -import net.Broken.audio.AudioM; -import net.Broken.audio.NotConnectedException; -import net.Broken.audio.NullMusicManager; -import net.Broken.audio.Youtube.YoutubeTools; -import net.dv8tion.jda.core.entities.RichPresence; -import net.dv8tion.jda.core.events.message.MessageReceivedEvent; - -import java.io.IOException; - -public class Test implements Commande { - @Override - public void action(String[] args, MessageReceivedEvent event) { - event.getJDA().getPresence().setPresence(RichPresence.playing("test").asRichPresence(),false); - } - - @Override - public boolean isPrivateUsable() { - return false; - } - - @Override - public boolean isAdminCmd() { - return false; - } - - @Override - public boolean isNSFW() { - return false; - } -} diff --git a/src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java b/src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java new file mode 100644 index 0000000..9271db2 --- /dev/null +++ b/src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java @@ -0,0 +1,111 @@ +package net.Broken.DB.Entity; + +import net.dv8tion.jda.core.entities.Guild; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity +public class GuildPreferenceEntity { + @Id + @GeneratedValue(strategy= GenerationType.AUTO) + private Integer id; + + private String guildId; + + private boolean antiSpam; + + private boolean welcome; + + private String welcomeMessage; + + private String welcomeChanelID; + + private boolean defaultRole; + + private String defaultRoleId; + + + public GuildPreferenceEntity(String guildId, boolean antiSpam, boolean welcome, String welcomeMessage, String welcomeChanelID, boolean defaultRole, String defaultRoleId) { + this.guildId = guildId; + this.antiSpam = antiSpam; + this.welcome = welcome; + this.welcomeMessage = welcomeMessage; + this.welcomeChanelID = welcomeChanelID; + this.defaultRole = defaultRole; + this.defaultRoleId = defaultRoleId; + } + + public GuildPreferenceEntity(){} + + + public static GuildPreferenceEntity getDefault(Guild guild){ + return new GuildPreferenceEntity(guild.getId(), false, false, "Welcome to this awesome server @name! ", " ", false, " "); + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getGuildId() { + return guildId; + } + + public void setGuildId(String guildId) { + this.guildId = guildId; + } + + public boolean isAntiSpam() { + return antiSpam; + } + + public void setAntiSpam(boolean antiSpam) { + this.antiSpam = antiSpam; + } + + public boolean isWelcome() { + return welcome; + } + + public void setWelcome(boolean welcome) { + this.welcome = welcome; + } + + public String getWelcomeMessage() { + return welcomeMessage; + } + + public void setWelcomeMessage(String welcomeMessage) { + this.welcomeMessage = welcomeMessage; + } + + public String getWelcomeChanelID() { + return welcomeChanelID; + } + + public void setWelcomeChanelID(String welcomeChanelID) { + this.welcomeChanelID = welcomeChanelID; + } + + public String getDefaultRoleId() { + return defaultRoleId; + } + + public void setDefaultRoleId(String defaultRoleId) { + this.defaultRoleId = defaultRoleId; + } + + public boolean isDefaultRole() { + return defaultRole; + } + + public void setDefaultRole(boolean defaultRole) { + this.defaultRole = defaultRole; + } +} diff --git a/src/main/java/net/Broken/DB/Entity/PendingUserEntity.java b/src/main/java/net/Broken/DB/Entity/PendingUserEntity.java index 6c41ee4..fafbbc1 100644 --- a/src/main/java/net/Broken/DB/Entity/PendingUserEntity.java +++ b/src/main/java/net/Broken/DB/Entity/PendingUserEntity.java @@ -33,6 +33,8 @@ public class PendingUserEntity { this.password = password; } + + public String getPassword() { return password; } diff --git a/src/main/java/net/Broken/DB/Repository/GuildPreferenceRepository.java b/src/main/java/net/Broken/DB/Repository/GuildPreferenceRepository.java new file mode 100644 index 0000000..336130d --- /dev/null +++ b/src/main/java/net/Broken/DB/Repository/GuildPreferenceRepository.java @@ -0,0 +1,10 @@ +package net.Broken.DB.Repository; + +import net.Broken.DB.Entity.GuildPreferenceEntity; +import org.springframework.data.repository.CrudRepository; + +import java.util.List; + +public interface GuildPreferenceRepository extends CrudRepository { + List findByGuildId(String id); +} diff --git a/src/main/java/net/Broken/Init.java b/src/main/java/net/Broken/Init.java index 878374f..1384ae9 100644 --- a/src/main/java/net/Broken/Init.java +++ b/src/main/java/net/Broken/Init.java @@ -50,10 +50,9 @@ public class Init { logger.info("Connecting to Discord api..."); //connection au bot - jda = new JDABuilder(AccountType.BOT).addEventListener(new BotListener()).setToken(token).setBulkDeleteSplittingEnabled(false).buildBlocking(); + jda = new JDABuilder(AccountType.BOT).setToken(token).setBulkDeleteSplittingEnabled(false).buildBlocking(); MainBot.jda = jda; jda.setAutoReconnect(true); - jda.addEventListener(); /************************************* * Definition des commande * @@ -116,6 +115,7 @@ public class Init { static void polish(JDA jda){ CommandLoader.load(); ApiCommandLoader.load(); + jda.addEventListener(new BotListener()); jda.getPresence().setPresence(OnlineStatus.ONLINE, Game.playing("bot.seb6596.ovh")); diff --git a/src/main/java/net/Broken/Tools/EmbedMessageUtils.java b/src/main/java/net/Broken/Tools/EmbedMessageUtils.java index ae1df44..98b2591 100644 --- a/src/main/java/net/Broken/Tools/EmbedMessageUtils.java +++ b/src/main/java/net/Broken/Tools/EmbedMessageUtils.java @@ -1,5 +1,6 @@ package net.Broken.Tools; +import net.Broken.DB.Entity.GuildPreferenceEntity; import net.Broken.MainBot; import net.dv8tion.jda.core.EmbedBuilder; import net.dv8tion.jda.core.entities.Member; @@ -105,6 +106,22 @@ public class EmbedMessageUtils { return new EmbedBuilder().setTitle("Command du bot ("+role+")").setDescription(message).setFooter("Utilise '//help ' pour plus de détails.",MainBot.jda.getSelfUser().getAvatarUrl()).setTimestamp(Instant.now()).setColor(Color.green).setThumbnail(MainBot.jda.getSelfUser().getAvatarUrl()).build(); } + public static MessageEmbed getPref(GuildPreferenceEntity guildPref){ + EmbedBuilder messageB = new EmbedBuilder() + .setColor(Color.green) + .setTitle("**Guild config**") + .setDescription("_This is the current config of bot for this Guild_") + .addField("> Guild ID", "This is the curent guild ID\n```java\n" + guildPref.getGuildId() + "```Edit: :lock:", false) + .addField("> Anti Spam", "Activate Spam hunter\n```java\n" + String.valueOf(guildPref.isAntiSpam()) + "```Edit: :unlock:\nKey: anti_spam", false) + .addField("> Default Role", "Activate auto move to default role\n```java\n" + String.valueOf(guildPref.isDefaultRole()) + "```Edit: :unlock:\nKey: default_role", false) + .addField("> Default Role ID", "Role id for auto move\n```java\n" + guildPref.getDefaultRoleId() + "```Edit: :unlock:\nKey: default_role_id", false) + .addField("> Welcome", "Activate welcome message\n```java\n" + String.valueOf(guildPref.isWelcome()) + "```Edit: :unlock:\nKey: welcome", false) + .addField("> Welcome chanel ID", "Chane id for welcome message\n```" + guildPref.getWelcomeChanelID() + "```Edit: :unlock:\nKey: welcome_chanel_id", false) + .addField("> Welcome message", "Welcome message (@name for mention)\n```markdown\n" + guildPref.getWelcomeMessage() + "```Edit: :unlock:\nKey: welcome_message", false); + return buildStandar(messageB); + } + + } \ No newline at end of file diff --git a/src/main/java/net/Broken/Tools/UserManager/UserUtils.java b/src/main/java/net/Broken/Tools/UserManager/UserUtils.java index 59e1c32..c5107d6 100644 --- a/src/main/java/net/Broken/Tools/UserManager/UserUtils.java +++ b/src/main/java/net/Broken/Tools/UserManager/UserUtils.java @@ -66,7 +66,7 @@ public class UserUtils { PendingUserEntity pendingUserEntity = null; String token = ""; - //Test if exist on register user + //Preference if exist on register user if(userRepository.findByJdaId(user.getId()).size() > 0){ logger.warn("User already registered!"); throw new UserAlreadyRegistered();