ClaptrapBot/src/main/java/net/Broken/BotListener.java

111 lines
4.4 KiB
Java
Raw Normal View History

2017-03-20 18:44:53 +01:00
package net.Broken;
2016-12-08 20:05:23 +01:00
2017-09-27 12:08:57 +02:00
import net.Broken.Commandes.Move;
import net.Broken.Commandes.Spam;
2017-03-20 18:44:53 +01:00
import net.Broken.Outils.AntiSpam;
2017-10-04 12:14:21 +02:00
import net.Broken.Outils.MessageTimeOut;
2017-03-20 18:44:53 +01:00
import net.Broken.Outils.Moderateur;
2017-09-27 12:08:57 +02:00
import net.dv8tion.jda.core.JDA;
2017-03-20 21:01:49 +01:00
import net.dv8tion.jda.core.entities.ChannelType;
2016-12-08 20:05:23 +01:00
import net.dv8tion.jda.core.entities.Guild;
import net.dv8tion.jda.core.entities.Member;
2017-10-16 17:03:17 +02:00
import net.dv8tion.jda.core.entities.TextChannel;
2017-09-27 12:08:57 +02:00
import net.dv8tion.jda.core.events.ExceptionEvent;
import net.dv8tion.jda.core.events.ReadyEvent;
2017-09-04 18:36:23 +02:00
import net.dv8tion.jda.core.events.guild.member.GuildMemberJoinEvent;
2017-09-27 12:08:57 +02:00
import net.dv8tion.jda.core.events.guild.member.GuildMemberRoleRemoveEvent;
2017-09-04 18:36:23 +02:00
import net.dv8tion.jda.core.events.guild.voice.GuildVoiceJoinEvent;
2016-12-08 20:05:23 +01:00
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
2017-09-04 18:36:23 +02:00
import net.dv8tion.jda.core.events.message.priv.PrivateMessageReceivedEvent;
2017-09-27 12:08:57 +02:00
import net.dv8tion.jda.core.exceptions.HierarchyException;
2016-12-08 20:05:23 +01:00
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;
2017-09-27 12:08:57 +02:00
import sun.security.tools.keytool.Main;
2016-12-08 20:05:23 +01:00
/**
* Created by seb65 on 19/10/2016.
*/
public class BotListener extends ListenerAdapter {
AntiSpam antispam=new AntiSpam();
Moderateur modo = new Moderateur();
Logger logger = LogManager.getLogger();
@Override
public void onReady(ReadyEvent event) {
logger.info("Connection succees");
}
2017-09-27 12:08:57 +02:00
@Override
public void onGuildMemberJoin(GuildMemberJoinEvent event) {
logger.info(event.getUser().getName()+ "join the guild, move it!");
2017-10-16 17:03:17 +02:00
new Move().exc(event.getMember(),event.getJDA().getRolesByName("Newbies",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager());
TextChannel chanel = event.getGuild().getTextChannelsByName("accueil", true).get(0);
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();
2017-09-27 12:08:57 +02:00
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!");
2017-10-09 17:32:16 +02:00
new Move().exc(event.getMember(),event.getJDA().getRolesByName("Rat_d'égout",true),false,event.getJDA().getGuilds().get(0),event.getJDA().getGuilds().get(0).getManager());
2017-09-27 12:08:57 +02:00
MainBot.roleFlag = false;
}
}
else
{
logger.debug("ignore it");
MainBot.roleFlag = false;
}
}
2016-12-08 20:05:23 +01:00
@Override
public void onMessageReceived(MessageReceivedEvent event) {
// ----------------------Test pour eviter eco de commande-------------------------
2017-03-20 21:01:49 +01:00
2016-12-08 20:05:23 +01:00
2017-09-27 12:08:57 +02:00
if (event.getMessage().getContent().startsWith("//") && !event.getMessage().getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) {
//On a detecter que c'etait une commande
//System.out.println(event.getMessage().getContent());
MainBot.handleCommand(MainBot.parser.parse(event.getMessage().getContent(), event));
}
else if (!event.getMessage().getAuthor().getId().equals(event.getJDA().getSelfUser().getId()))
{
if(!event.isFromType(ChannelType.PRIVATE)) {
if (!event.getTextChannel().getName().equals("le_dongeon")) {
Guild serveur = event.getGuild();
2017-09-04 18:36:23 +02:00
GuildManager guildManager = serveur.getManager();
Member user = event.getMember();
2017-09-27 12:08:57 +02:00
// appel de la methode d'analyse de message de "Moderateur"
if (!event.getAuthor().getName().equals("Aethex") && event.getMessage().getContent().length() > 0) {
2017-09-04 18:36:23 +02:00
2017-09-27 12:08:57 +02:00
if (modo.analyse(user, serveur, guildManager, event) == 1) {
antispam.extermine(user, serveur, guildManager, true, event);
2017-03-20 21:01:49 +01:00
}
2017-09-27 12:08:57 +02:00
} else if (event.getMessage().getContent().length() == 0)
logger.error("Image detected, ignoring it.");
2016-12-08 20:05:23 +01:00
}
2017-09-27 12:08:57 +02:00
}
2017-03-20 21:01:49 +01:00
2016-12-08 20:05:23 +01:00
2017-09-04 18:36:23 +02:00
2017-09-27 12:08:57 +02:00
}
2016-12-08 20:05:23 +01:00
}
}