Support multi Role

This commit is contained in:
Unknown 2017-10-09 17:32:16 +02:00
parent b1f33149b9
commit 73b00b8338
4 changed files with 29 additions and 15 deletions

View File

@ -2,7 +2,7 @@
<Configuration status="error"> <Configuration status="error">
<Appenders> <Appenders>
<Console name="Console" target="SYSTEM_OUT"> <Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss.SSS}][%-5level]%logger{2}: %msg%n" /> <PatternLayout pattern="%highlight{[%d{HH:mm:ss.SSS}][%-5level]%logger{2}: %msg%n}{FATAL=red blink, ERROR=red, WARN=bright yellow , INFO=blue, DEBUG=bright black, TRACE=cyan}" />
<!--{FATAL=red blink, ERROR=red, WARN=orange, INFO=yellow, DEBUG=green bold, TRACE=blue}--> <!--{FATAL=red blink, ERROR=red, WARN=orange, INFO=yellow, DEBUG=green bold, TRACE=blue}-->
</Console> </Console>
<!--<RollingFile name="RollingFile" fileName="/logs/curent.log" <!--<RollingFile name="RollingFile" fileName="/logs/curent.log"

View File

@ -43,7 +43,7 @@ public class BotListener extends ListenerAdapter {
@Override @Override
public void onGuildMemberJoin(GuildMemberJoinEvent event) { public void onGuildMemberJoin(GuildMemberJoinEvent event) {
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("Rat_d'égout",true).get(0),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager()); new Move().exc(event.getMember(),event.getJDA().getRolesByName("Rat_d'égout",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager());
MainBot.roleFlag = false; MainBot.roleFlag = false;
} }
@ -54,7 +54,7 @@ public class BotListener extends ListenerAdapter {
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.getJDA().getRolesByName("Rat_d'égout",true).get(0),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager()); new Move().exc(event.getMember(),event.getJDA().getRolesByName("Rat_d'égout",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager());
MainBot.roleFlag = false; MainBot.roleFlag = false;
} }
} }

View File

@ -43,7 +43,7 @@ public class Move implements Commande {
* @param serveurManager * @param serveurManager
* @return * @return
*/ */
public boolean exc(Member user, Role cible , boolean reset, Guild serveur, GuildManager serveurManager) throws HierarchyException public boolean exc(Member user, List<Role> cible , boolean reset, Guild serveur, GuildManager serveurManager) throws HierarchyException
{ {
MainBot.roleFlag = true; MainBot.roleFlag = true;
guildController = new GuildController(serveur); guildController = new GuildController(serveur);
@ -64,11 +64,10 @@ public class Move implements Commande {
//Ajout du role cible //Ajout du role cible
//On transforme la le role a ajouter en une liste pour pouvoir l'utiliser dans modifyMemberRoles //On transforme la le role a ajouter en une liste pour pouvoir l'utiliser dans modifyMemberRoles
Collection<Role> temp = new ArrayList<>();
temp.add(cible);
//on fait ensuite les modif //on fait ensuite les modif
guildController.modifyMemberRoles(user,temp,saveRoleUser).queue(); guildController.modifyMemberRoles(user,cible).complete();
logger.info("Role " + cible + " attribuer a " + user.getEffectiveName()); logger.info("Role " + cible + " attribuer a " + user.getEffectiveName());
@ -107,27 +106,42 @@ public class Move implements Commande {
else else
{ {
user = serveur.getMember(userL.get(0)); user = serveur.getMember(userL.get(0));
Role roleCible = roleL.get(0);
serveur=event.getGuild(); serveur=event.getGuild();
logger.info("Tentative de déplacement de "+user.getEffectiveName()+" vers "+roleCible.getName()+" par l'utilisateur "+event.getAuthor().getName()); logger.info("Tentative de déplacement de "+user.getEffectiveName()+" vers "+roleL+" par l'utilisateur "+event.getAuthor().getName());
if(event.getMember().hasPermission(Permission.ADMINISTRATOR)) if(event.getMember().hasPermission(Permission.ADMINISTRATOR))
{ {
logger.info("Autorisation suffisante, deplacement autorisé"); logger.info("Autorisation suffisante, deplacement autorisé");
logger.info("Utilisateur trouvée"); logger.info("Utilisateur trouvée");
try { try {
boolean erreur=this.exc(user,roleCible,true,serveur,serveur.getManager()); boolean erreur=this.exc(user,roleL,true,serveur,serveur.getManager());
if(erreur) if(erreur)
{ {
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Verifier le rôle cible. ")).queue(); event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Verifier le rôle cible. ")).queue();
} }
else else
{ {
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveOk("Déplacement de "+user.getEffectiveName()+" vers "+roleCible.getName()+" reussi.")).queue(); StringBuilder roleStr = new StringBuilder("");
boolean first = true;
for( Role role : roleL)
{
if (!first) {
roleStr.append(", ");
}
else
first = false;
roleStr.append("__");
roleStr.append(role.getName());
roleStr.append("__");
}
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveOk("Déplacement de "+user.getEffectiveName()+" vers "+roleStr.toString()+" reussi.")).queue();
} }
}catch (HierarchyException e){ }catch (HierarchyException e){
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Impossible de déplacer un "+user.getRoles().get(0).getAsMention())).queue(); event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Impossible de déplacer un "+user.getRoles().get(0).getAsMention())).queue();
logger.error("Hierarchy error"); logger.error("Hierarchy error, please move bot's role on top!");
} }
@ -135,7 +149,7 @@ public class Move implements Commande {
else else
{ {
logger.info("Autorisation insuffisante, deplacement refusé"); logger.info("Autorisation insuffisante, deplacement refusé");
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Vous n'avez pas l'autorisation de faire ça!")).queue(); event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Vous n'avez pas l'autorisation de faicre ça!")).queue();
} }
} }

View File

@ -67,7 +67,7 @@ public class AntiSpam {
MainBot.spamUtils.get(user.getUser()).setOnSpam(true); MainBot.spamUtils.get(user.getUser()).setOnSpam(true);
List<Role> spm = serveur.getRolesByName("Spammer", false); List<Role> spm = serveur.getRolesByName("Spammer", false);
try{ try{
move.exc(user, spm.get(0), true, serveur, serveurManger); move.exc(user, spm, true, serveur, serveurManger);
MainBot.spamUtils.get(user.getUser()).addMessage(event.getTextChannel().sendMessage(EmbedMessageUtils.getSpamExtermine(user,MainBot.spamUtils.get(user.getUser()).getMultip())).complete()); MainBot.spamUtils.get(user.getUser()).addMessage(event.getTextChannel().sendMessage(EmbedMessageUtils.getSpamExtermine(user,MainBot.spamUtils.get(user.getUser()).getMultip())).complete());
MainBot.spamUtils.get(user.getUser()).setMinuteur(new Minuteur(MainBot.spamUtils.get(user.getUser()).getMultip(), move.user, move.saveRoleUser, move.serveur, move.serveurManager,event)); MainBot.spamUtils.get(user.getUser()).setMinuteur(new Minuteur(MainBot.spamUtils.get(user.getUser()).getMultip(), move.user, move.saveRoleUser, move.serveur, move.serveurManager,event));
MainBot.spamUtils.get(user.getUser()).launchMinuteur(); MainBot.spamUtils.get(user.getUser()).launchMinuteur();
@ -126,7 +126,7 @@ public class AntiSpam {
} }
logger.info("["+user.getEffectiveName()+"] Fin de spam pour "+user.getEffectiveName()+" apres "+multip+"min."); logger.info("["+user.getEffectiveName()+"] Fin de spam pour "+user.getEffectiveName()+" apres "+multip+"min.");
try { try {
move.exc(user, saveRoleUser.get(0), true, serveur, serveurManager); //aSaveroleUser=saveRoleUser.get(i) move.exc(user, saveRoleUser, true, serveur, serveurManager); //aSaveroleUser=saveRoleUser.get(i)
}catch (HierarchyException e){ }catch (HierarchyException e){
event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Impossible de déplacer un "+user.getRoles().get(0).getAsMention())).queue(); event.getTextChannel().sendMessage(EmbedMessageUtils.getMoveError("Impossible de déplacer un "+user.getRoles().get(0).getAsMention())).queue();
logger.error("Hierarchy error"); logger.error("Hierarchy error");