rgthj
This commit is contained in:
parent
56507a2d16
commit
54180d9f39
@ -1,3 +1,4 @@
|
|||||||
|
<<<<<<< Updated upstream:src/net/Broken/Outils/Moderateur.java
|
||||||
package net.Broken.Outils;
|
package net.Broken.Outils;
|
||||||
|
|
||||||
import net.Broken.MainBot;
|
import net.Broken.MainBot;
|
||||||
@ -111,3 +112,124 @@ public class Moderateur {
|
|||||||
return spam;
|
return spam;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
=======
|
||||||
|
package net.borken.Outils;
|
||||||
|
|
||||||
|
import net.borken.MainBot;
|
||||||
|
|
||||||
|
import java.util.HashMap;
|
||||||
|
import net.borken.Commande;
|
||||||
|
import net.dv8tion.jda.core.entities.Guild;
|
||||||
|
import net.dv8tion.jda.core.entities.Member;
|
||||||
|
import net.dv8tion.jda.core.entities.MessageType;
|
||||||
|
import net.dv8tion.jda.core.entities.User;
|
||||||
|
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
|
||||||
|
import net.dv8tion.jda.core.managers.GuildManager;
|
||||||
|
import org.apache.logging.log4j.LogManager;
|
||||||
|
import org.apache.logging.log4j.Logger;
|
||||||
|
|
||||||
|
import static net.borken.MainBot.historique;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by Parayre on 24/10/2016.
|
||||||
|
*/
|
||||||
|
public class Moderateur {
|
||||||
|
|
||||||
|
Logger logger = LogManager.getLogger();
|
||||||
|
private String[] tabMessages;
|
||||||
|
|
||||||
|
public Moderateur() {}
|
||||||
|
|
||||||
|
// Cette méthode récupère le dernier message est le rajoute à "historique"
|
||||||
|
// SI (spam) retourne 1 (si l'user spam)
|
||||||
|
// SINON retourne 0
|
||||||
|
public int analyse(Member user, Guild serveur, GuildManager serveurManager, MessageReceivedEvent event){
|
||||||
|
|
||||||
|
String[] toi = new String[5];//Creer tableau pour la copie
|
||||||
|
int i = 0; // variable de parcours de "historique"
|
||||||
|
int nbMessage = 3;
|
||||||
|
int spam = 0;
|
||||||
|
|
||||||
|
/********************************************
|
||||||
|
* si l'USER a deja envoyé un message *
|
||||||
|
********************************************/
|
||||||
|
if(MainBot.historique.containsKey(user))// Si le user a deja posté un message
|
||||||
|
{
|
||||||
|
/********************************************
|
||||||
|
* COPIE des infos d"historique" vers TOI[] *
|
||||||
|
********************************************/
|
||||||
|
i = 0;
|
||||||
|
while( (MainBot.historique.get(user)[i] != null) && (i < nbMessage) ){
|
||||||
|
toi[i+1] = MainBot.historique.get(user)[i];
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
/********************************************
|
||||||
|
* Ajout dernier message recu + dans histo' *
|
||||||
|
********************************************/
|
||||||
|
toi[0] = event.getMessage().getContent();// On stocke en position [0] le nouveau message
|
||||||
|
MainBot.historique.put(user, toi);// On ajoute dans l'historique TOI
|
||||||
|
|
||||||
|
/*****************************
|
||||||
|
* ANALYSE des messages *
|
||||||
|
*****************************/
|
||||||
|
if(toi[3].equals(toi[2])&&toi[2].equals(toi[1]) && toi[1].equals(toi[0]) ){
|
||||||
|
|
||||||
|
spam = 1;
|
||||||
|
logger.info("Detection de spam pour "+user.getEffectiveName()+"avec 3 messages identique: ");
|
||||||
|
for(int j=0;MainBot.historique.get(user).length-1>j;j++)
|
||||||
|
{
|
||||||
|
logger.info("\t"+j+". "+MainBot.historique.get(user)[j]);
|
||||||
|
}
|
||||||
|
toi[0] = "";
|
||||||
|
toi[1] = "";
|
||||||
|
toi[2] = "";
|
||||||
|
toi[3] = "";
|
||||||
|
MainBot.historique.put(user, toi);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
/********************************************
|
||||||
|
* SI c'est le 1er message de l'USER *
|
||||||
|
********************************************/
|
||||||
|
// si le user n'a pas encore posté de message
|
||||||
|
// on ajoute le dernier message dans "historique"
|
||||||
|
toi[0] = event.getMessage().getContent();
|
||||||
|
toi[1] = "";
|
||||||
|
toi[2] = "";
|
||||||
|
toi[3] = "";
|
||||||
|
MainBot.historique.put(user, toi);
|
||||||
|
}
|
||||||
|
/**********************************
|
||||||
|
* AFFICHAGE DE HISTORIQUE *
|
||||||
|
**********************************/
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/********************************************
|
||||||
|
* Comptage du nombre de message *
|
||||||
|
********************************************/
|
||||||
|
if(MainBot.message_compteur.containsKey(user))// Si le user a deja posté un message
|
||||||
|
{
|
||||||
|
int cpt = MainBot.message_compteur.get(user);
|
||||||
|
cpt++;
|
||||||
|
//System.out.println("compteur : "+cpt);
|
||||||
|
MainBot.message_compteur.put(user, cpt);
|
||||||
|
if(cpt > 5){
|
||||||
|
MainBot.message_compteur.put(user,0);
|
||||||
|
spam = 1;
|
||||||
|
logger.info("Detection de spam pour "+user.getEffectiveName()+"avec 5 message en 5seg: ");
|
||||||
|
String[] histo = MainBot.historique.get(user);
|
||||||
|
for (String unMessage:histo ) //=for(int i=0; i<saveRoleUser.size(); i++)
|
||||||
|
{
|
||||||
|
logger.debug("\t*"+unMessage);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
MainBot.message_compteur.put(user, 1);
|
||||||
|
}
|
||||||
|
|
||||||
|
return spam;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
>>>>>>> Stashed changes:src/net/borken/Outils/Moderateur.java
|
||||||
|
Loading…
Reference in New Issue
Block a user