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 ;
2017-02-04 19:31:09 +01:00
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 ;
2017-02-04 19:31:09 +01:00
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 ( ) ;
2017-02-04 19:31:09 +01:00
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 ;
}
}
2017-02-04 19:31:09 +01:00
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
}
}