Add preference
This commit is contained in:
parent
59813fe37b
commit
ad31172485
@ -2,16 +2,16 @@ package net.Broken;
|
|||||||
|
|
||||||
import net.Broken.Commands.Move;
|
import net.Broken.Commands.Move;
|
||||||
import net.Broken.Commands.Music;
|
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.AntiSpam;
|
||||||
import net.Broken.Tools.Command.CommandParser;
|
import net.Broken.Tools.Command.CommandParser;
|
||||||
import net.Broken.Tools.EmbedMessageUtils;
|
import net.Broken.Tools.EmbedMessageUtils;
|
||||||
import net.Broken.Tools.Moderateur;
|
import net.Broken.Tools.Moderateur;
|
||||||
import net.Broken.Tools.PrivateMessage;
|
import net.Broken.Tools.PrivateMessage;
|
||||||
import net.Broken.audio.AudioM;
|
import net.Broken.audio.AudioM;
|
||||||
import net.dv8tion.jda.core.entities.ChannelType;
|
import net.dv8tion.jda.core.entities.*;
|
||||||
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.events.ExceptionEvent;
|
import net.dv8tion.jda.core.events.ExceptionEvent;
|
||||||
import net.dv8tion.jda.core.events.ReadyEvent;
|
import net.dv8tion.jda.core.events.ReadyEvent;
|
||||||
import net.dv8tion.jda.core.events.guild.member.GuildMemberJoinEvent;
|
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 net.dv8tion.jda.core.managers.GuildManager;
|
||||||
import org.apache.logging.log4j.LogManager;
|
import org.apache.logging.log4j.LogManager;
|
||||||
import org.apache.logging.log4j.Logger;
|
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 {
|
public class BotListener extends ListenerAdapter {
|
||||||
private AntiSpam antispam=new AntiSpam();
|
private AntiSpam antispam=new AntiSpam();
|
||||||
private Moderateur modo = new Moderateur();
|
private Moderateur modo = new Moderateur();
|
||||||
|
|
||||||
|
private GuildPreferenceRepository guildPreferenceRepository;
|
||||||
|
|
||||||
private Logger logger = LogManager.getLogger();
|
private Logger logger = LogManager.getLogger();
|
||||||
|
|
||||||
|
public BotListener() {
|
||||||
|
|
||||||
|
ApplicationContext context = SpringContext.getAppContext();
|
||||||
|
guildPreferenceRepository = (GuildPreferenceRepository) context.getBean("guildPreferenceRepository");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReady(ReadyEvent event) {
|
public void onReady(ReadyEvent event) {
|
||||||
@ -41,22 +54,54 @@ public class BotListener extends ListenerAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMemberJoin(GuildMemberJoinEvent event) {
|
public void onGuildMemberJoin(GuildMemberJoinEvent event) {
|
||||||
|
|
||||||
|
GuildPreferenceEntity guildPref = getPreference(event.getGuild());
|
||||||
|
|
||||||
|
if(guildPref.isDefaultRole()){
|
||||||
|
|
||||||
logger.info(event.getUser().getName()+ "join the guild, move it!");
|
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);
|
List<Role> roles = new ArrayList<>();
|
||||||
if(chanel != null)
|
roles.add(event.getGuild().getRoleById(guildPref.getDefaultRoleId()));
|
||||||
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();
|
|
||||||
|
|
||||||
|
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;
|
MainBot.roleFlag = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildMemberRoleRemove(GuildMemberRoleRemoveEvent event) {
|
public void onGuildMemberRoleRemove(GuildMemberRoleRemoveEvent event) {
|
||||||
logger.debug(event.getUser().getName()+" leave a role");
|
|
||||||
|
GuildPreferenceEntity guildPref = getPreference(event.getGuild());
|
||||||
|
if(guildPref.isDefaultRole()){
|
||||||
|
|
||||||
if(!MainBot.roleFlag){
|
if(!MainBot.roleFlag){
|
||||||
|
|
||||||
if(event.getMember().getRoles().size() == 0){
|
if(event.getMember().getRoles().size() == 0){
|
||||||
|
|
||||||
logger.info(event.getUser().getName()+ "have no roles, move it!");
|
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());
|
List<Role> 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;
|
MainBot.roleFlag = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -70,6 +115,10 @@ public class BotListener extends ListenerAdapter {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) {
|
public void onGuildVoiceLeave(GuildVoiceLeaveEvent event) {
|
||||||
super.onGuildVoiceLeave(event);
|
super.onGuildVoiceLeave(event);
|
||||||
@ -87,7 +136,7 @@ public class BotListener extends ListenerAdapter {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onMessageReceived(MessageReceivedEvent event) {
|
public void onMessageReceived(MessageReceivedEvent event) {
|
||||||
// ----------------------Test pour eviter eco de commande-------------------------
|
// ----------------------Preference pour eviter eco de commande-------------------------
|
||||||
|
|
||||||
|
|
||||||
try{
|
try{
|
||||||
@ -101,21 +150,29 @@ public class BotListener extends ListenerAdapter {
|
|||||||
{
|
{
|
||||||
|
|
||||||
if(!event.isFromType(ChannelType.PRIVATE)) {
|
if(!event.isFromType(ChannelType.PRIVATE)) {
|
||||||
if (!event.getTextChannel().getName().equals("le_dongeon")) {
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Guild serveur = event.getGuild();
|
Guild serveur = event.getGuild();
|
||||||
|
GuildPreferenceEntity guildPref = getPreference(serveur);
|
||||||
|
|
||||||
|
if(!guildPref.isAntiSpam())
|
||||||
|
return;
|
||||||
|
|
||||||
GuildManager guildManager = serveur.getManager();
|
GuildManager guildManager = serveur.getManager();
|
||||||
Member user = event.getMember();
|
Member user = event.getMember();
|
||||||
|
|
||||||
// appel de la methode d'analyse de message de "Moderateur"
|
// appel de la methode d'analyse de message de "Moderateur"
|
||||||
if (!event.getAuthor().getName().equals("Aethex") && event.getMessage().getContentRaw().length() > 0) {
|
if (event.getMessage().getContentRaw().length() > 0) {
|
||||||
|
|
||||||
if (modo.analyse(user, serveur, guildManager, event) == 1) {
|
if (modo.analyse(user, serveur, guildManager, event) == 1) {
|
||||||
antispam.extermine(user, serveur, guildManager, true, event);
|
antispam.extermine(user, serveur, guildManager, true, event);
|
||||||
}
|
}
|
||||||
} else if (event.getMessage().getContentRaw().length() == 0)
|
} else if (event.getMessage().getContentRaw().length() == 0)
|
||||||
logger.error("Image detected, ignoring it.");
|
logger.error("Image detected, ignoring it.");
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -133,4 +190,19 @@ public class BotListener extends ListenerAdapter {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
private GuildPreferenceEntity getPreference(Guild guild){
|
||||||
|
List<GuildPreferenceEntity> 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;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
38
src/main/java/net/Broken/Commands/ListRoles.java
Normal file
38
src/main/java/net/Broken/Commands/ListRoles.java
Normal file
@ -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<Role> 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;
|
||||||
|
}
|
||||||
|
}
|
212
src/main/java/net/Broken/Commands/Preference.java
Normal file
212
src/main/java/net/Broken/Commands/Preference.java
Normal file
@ -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<GuildPreferenceEntity> 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;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
@ -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;
|
|
||||||
}
|
|
||||||
}
|
|
111
src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java
Normal file
111
src/main/java/net/Broken/DB/Entity/GuildPreferenceEntity.java
Normal file
@ -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;
|
||||||
|
}
|
||||||
|
}
|
@ -33,6 +33,8 @@ public class PendingUserEntity {
|
|||||||
this.password = password;
|
this.password = password;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public String getPassword() {
|
public String getPassword() {
|
||||||
return password;
|
return password;
|
||||||
}
|
}
|
||||||
|
@ -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<GuildPreferenceEntity, Integer> {
|
||||||
|
List<GuildPreferenceEntity> findByGuildId(String id);
|
||||||
|
}
|
@ -50,10 +50,9 @@ public class Init {
|
|||||||
|
|
||||||
logger.info("Connecting to Discord api...");
|
logger.info("Connecting to Discord api...");
|
||||||
//connection au bot
|
//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;
|
MainBot.jda = jda;
|
||||||
jda.setAutoReconnect(true);
|
jda.setAutoReconnect(true);
|
||||||
jda.addEventListener();
|
|
||||||
|
|
||||||
/*************************************
|
/*************************************
|
||||||
* Definition des commande *
|
* Definition des commande *
|
||||||
@ -116,6 +115,7 @@ public class Init {
|
|||||||
static void polish(JDA jda){
|
static void polish(JDA jda){
|
||||||
CommandLoader.load();
|
CommandLoader.load();
|
||||||
ApiCommandLoader.load();
|
ApiCommandLoader.load();
|
||||||
|
jda.addEventListener(new BotListener());
|
||||||
jda.getPresence().setPresence(OnlineStatus.ONLINE, Game.playing("bot.seb6596.ovh"));
|
jda.getPresence().setPresence(OnlineStatus.ONLINE, Game.playing("bot.seb6596.ovh"));
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
package net.Broken.Tools;
|
package net.Broken.Tools;
|
||||||
|
|
||||||
|
import net.Broken.DB.Entity.GuildPreferenceEntity;
|
||||||
import net.Broken.MainBot;
|
import net.Broken.MainBot;
|
||||||
import net.dv8tion.jda.core.EmbedBuilder;
|
import net.dv8tion.jda.core.EmbedBuilder;
|
||||||
import net.dv8tion.jda.core.entities.Member;
|
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 <commande>' pour plus de détails.",MainBot.jda.getSelfUser().getAvatarUrl()).setTimestamp(Instant.now()).setColor(Color.green).setThumbnail(MainBot.jda.getSelfUser().getAvatarUrl()).build();
|
return new EmbedBuilder().setTitle("Command du bot ("+role+")").setDescription(message).setFooter("Utilise '//help <commande>' 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);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
@ -66,7 +66,7 @@ public class UserUtils {
|
|||||||
PendingUserEntity pendingUserEntity = null;
|
PendingUserEntity pendingUserEntity = null;
|
||||||
String token = "";
|
String token = "";
|
||||||
|
|
||||||
//Test if exist on register user
|
//Preference if exist on register user
|
||||||
if(userRepository.findByJdaId(user.getId()).size() > 0){
|
if(userRepository.findByJdaId(user.getId()).size() > 0){
|
||||||
logger.warn("User already registered!");
|
logger.warn("User already registered!");
|
||||||
throw new UserAlreadyRegistered();
|
throw new UserAlreadyRegistered();
|
||||||
|
Loading…
Reference in New Issue
Block a user