Adding spam info !

This commit is contained in:
Unknown 2017-09-05 02:13:27 +02:00
parent 7b0f1429d1
commit ad26b1dbdf
17 changed files with 256 additions and 62 deletions

View File

@ -43,10 +43,6 @@ public class BotListener extends ListenerAdapter {
//On a detecter que c'etait une commande //On a detecter que c'etait une commande
//System.out.println(event.getMessage().getContent()); //System.out.println(event.getMessage().getContent());
MainBot.handleCommand(MainBot.parser.parse(event.getMessage().getContent(), event)); MainBot.handleCommand(MainBot.parser.parse(event.getMessage().getContent(), event));
logger.debug("ok");
} }
else if (!event.getMessage().getAuthor().getId().equals(event.getJDA().getSelfUser().getId())) else if (!event.getMessage().getAuthor().getId().equals(event.getJDA().getSelfUser().getId()))
{ {

View File

@ -11,6 +11,7 @@ public interface Commande {
void action(String[] args, MessageReceivedEvent event); void action(String[] args, MessageReceivedEvent event);
String help(String[] args); String help(String[] args);
void executed(boolean success, MessageReceivedEvent event); void executed(boolean success, MessageReceivedEvent event);
boolean isPrivateUsable();
} }

View File

@ -72,4 +72,9 @@ public class Cat implements Commande {
public void executed(boolean success, MessageReceivedEvent event) { public void executed(boolean success, MessageReceivedEvent event) {
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -77,4 +77,9 @@ public class Help implements Commande {
public void executed(boolean success, MessageReceivedEvent event) { public void executed(boolean success, MessageReceivedEvent event) {
} }
@Override
public boolean isPrivateUsable() {
return true;
}
} }

View File

@ -168,4 +168,8 @@ public class Move implements Commande {
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -16,4 +16,9 @@ public class Ass extends NumberedCommande {
public String toString() { public String toString() {
return "Ass"; return "Ass";
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -15,4 +15,9 @@ public class Boobs extends NumberedCommande {
public String toString() { public String toString() {
return "Boobs"; return "Boobs";
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -64,4 +64,9 @@ public class Madame implements Commande{
public void executed(boolean success, MessageReceivedEvent event) { public void executed(boolean success, MessageReceivedEvent event) {
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -49,4 +49,9 @@ public class Pipe extends NumberedCommande {
public String toString() { public String toString() {
return "Pipe"; return "Pipe";
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -51,4 +51,9 @@ public class SM implements Commande {
public void executed(boolean success, MessageReceivedEvent event) { public void executed(boolean success, MessageReceivedEvent event) {
} }
@Override
public boolean isPrivateUsable() {
return false;
}
} }

View File

@ -43,4 +43,9 @@ public class PingCommande implements Commande {
return; return;
} }
@Override
public boolean isPrivateUsable() {
return true;
}
} }

View File

@ -3,6 +3,7 @@ package net.Broken.Commandes;
import net.Broken.Commande; import net.Broken.Commande;
import net.Broken.MainBot; import net.Broken.MainBot;
import net.Broken.Outils.AntiSpam; import net.Broken.Outils.AntiSpam;
import net.Broken.Outils.UserSpamUtils;
import net.dv8tion.jda.core.entities.Guild; import net.dv8tion.jda.core.entities.Guild;
import net.dv8tion.jda.core.entities.Member; import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.User; import net.dv8tion.jda.core.entities.User;
@ -84,6 +85,11 @@ public class Spam implements Commande {
} }
@Override
public boolean isPrivateUsable() {
return false;
}
public void pardon(MessageReceivedEvent event, String[] args){ public void pardon(MessageReceivedEvent event, String[] args){
Guild serveur = event.getGuild(); Guild serveur = event.getGuild();
@ -119,30 +125,30 @@ public class Spam implements Commande {
/**************************** /****************************
* virif si en spammer * * virif si en spammer *
****************************/ ****************************/
if (MainBot.minuteurStatut.containsKey(user)) { if (MainBot.spamUtils.containsKey(user.getUser())) {
if (MainBot.minuteurStatut.get(user)) { if (MainBot.spamUtils.get(user.getUser()).isOnSpam()) {
MainBot.minuteurStatut.put(user, false); MainBot.spamUtils.get(user.getUser()).setOnSpam(false);
} else { } else {
logger.warn("Utilisateur pas en spam."); logger.warn("Utilisateur pas en spam.");
event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:warning: **__Erreur__** :warning:\n:arrow_right: Utilisateur non spammeur. "); event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:warning: **__Erreur__** :warning:\n:arrow_right: Utilisateur non spammeur. ").queue();
} }
} else { } else {
logger.warn("Utilisateur pas en spam."); logger.warn("Utilisateur pas en spam.");
event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:warning: **__Erreur__** :warning:\n:arrow_right: Utilisateur non spammeur. "); event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:warning: **__Erreur__** :warning:\n:arrow_right: Utilisateur non spammeur. ").queue();
} }
} else { } else {
logger.warn("Autorisation insuffisante, pardon refusé"); logger.warn("Autorisation insuffisante, pardon refusé");
event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:no_entry_sign: **__Vous n'avez pas l'autorisation de faire sa!__** :no_entry_sign: "); event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n:no_entry_sign: **__Vous n'avez pas l'autorisation de faire sa!__** :no_entry_sign: ").queue();
} }
} }
} }
else else
{ {
logger.warn("Argument manquant."); logger.warn("Argument manquant.");
event.getTextChannel().sendMessage(event.getAuthor().getAsMention()+"\n:warning: **__Argument manquant__**:warning: \n:arrow_right: Utilisation: `//spam pardon <@utilisateur>`."); event.getTextChannel().sendMessage(event.getAuthor().getAsMention()+"\n:warning: **__Argument manquant__**:warning: \n:arrow_right: Utilisation: `//spam pardon <@utilisateur>`.").queue();
} }
@ -187,9 +193,9 @@ public class Spam implements Commande {
/**************************** /****************************
* virif pas deja en spammer * * virif pas deja en spammer *
****************************/ ****************************/
if(MainBot.minuteurStatut.containsKey(user)) if(MainBot.spamUtils.containsKey(user.getUser()))
{ {
if(!MainBot.minuteurStatut.get(user)) if(!MainBot.spamUtils.get(user.getUser()).isOnSpam())
{ {
this.goSpam(user,multiStr,serveur,event); this.goSpam(user,multiStr,serveur,event);
} }
@ -258,10 +264,10 @@ public class Spam implements Commande {
/**************************** /****************************
* verif utilisteur trouver * * verif utilisteur trouver *
****************************/ ****************************/
if (MainBot.userMulti.containsKey(user)) { if (MainBot.spamUtils.containsKey(user.getUser())) {
logger.info("Reset du multiplicateur de " + user.getEffectiveName() + " réussi"); logger.info("Reset du multiplicateur de " + user.getEffectiveName() + " réussi");
event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n *Le multiplcicateur de " + user.getEffectiveName() + " a été remit a zéro.*").queue(); event.getTextChannel().sendMessage(event.getAuthor().getAsMention() + "\n *Le multiplcicateur de " + user.getEffectiveName() + " a été remit a zéro.*").queue();
MainBot.userMulti.remove(user); MainBot.spamUtils.remove(user.getUser());
} }
} else { } else {
@ -282,7 +288,7 @@ public class Spam implements Commande {
if (args[0].equals("all")) if (args[0].equals("all"))
{ {
logger.info("Reset automatique des multiplicateur."); logger.info("Reset automatique des multiplicateur.");
for (Member unUser: MainBot.userMulti.keySet() ) //=for(int i=0; i<saveRoleUser.size(); i++) for (User unUser: MainBot.spamUtils.keySet() ) //=for(int i=0; i<saveRoleUser.size(); i++)
{ {
MainBot.message_compteur.remove(unUser); MainBot.message_compteur.remove(unUser);
} }
@ -306,13 +312,14 @@ public class Spam implements Commande {
else else
{ {
int multi = Integer.parseInt(multiStr); int multi = Integer.parseInt(multiStr);
if(MainBot.minuteurStatut.containsKey(user)) if(MainBot.spamUtils.containsKey(user))
{ {
MainBot.userMulti.replace(user,multi); MainBot.spamUtils.get(user).setMultip(multi);
} }
else else
{ {
MainBot.userMulti.put(user,multi); MainBot.spamUtils.put(user.getUser(),new UserSpamUtils(user));
MainBot.spamUtils.get(user.getUser()).setMultip(multi);
} }
new AntiSpam().extermine(user,serveur,serveur.getManager(),false,event); new AntiSpam().extermine(user,serveur,serveur.getManager(),false,event);

View File

@ -1,8 +1,106 @@
package net.Broken.Commandes; package net.Broken.Commandes;
import net.Broken.Commande;
import net.Broken.MainBot;
import net.Broken.Outils.PrivateMessage;
import net.Broken.Outils.UserSpamUtils;
import net.dv8tion.jda.core.entities.ChannelType;
import net.dv8tion.jda.core.entities.Member;
import net.dv8tion.jda.core.entities.User;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.concurrent.TimeUnit;
/** /**
* Created by sebastien on 13/03/17. * Created by sebastien on 13/03/17.
*/ */
public class SpamInfo { public class SpamInfo implements Commande{
Logger logger = LogManager.getLogger();
private String HELP="`//spaminfo <@utilisateur> `\n:arrow_right:\t*Affiche les infos relative aux punitions contre le spam de l'utilisateur mentionnée (de l'auteur si pas de mention)*";
@Override
public boolean called(String[] args, MessageReceivedEvent event) {
return false;
}
@Override
public void action(String[] args, MessageReceivedEvent event) {
User user;
if(event.getMessage().getMentionedUsers().size() == 0){
user = event.getAuthor();
}
else {
user = event.getMessage().getMentionedUsers().get(0);
}
if(!MainBot.spamUtils.containsKey(user)){
if(!event.isFromType(ChannelType.PRIVATE))
event.getTextChannel().sendMessage(event.getAuthor().getAsMention()+"\n\n__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `1`\n\t- En spam: `Non`").queue();
else
PrivateMessage.send(event.getAuthor(),"__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `1`\n\t- En spam: `Non`",logger);
}
else{
UserSpamUtils util = MainBot.spamUtils.get(user);
if(!util.isOnSpam()){
if(!event.isFromType(ChannelType.PRIVATE))
event.getTextChannel().sendMessage(event.getAuthor().getAsMention()+"\n\n__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `"+util.getMultip()+"`\n\t- En spam: `Non`").queue();
else
PrivateMessage.send(event.getAuthor(),"__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `"+util.getMultip()+"`\n\t- En spam: `Non`",logger);
}
else{
if(!event.isFromType(ChannelType.PRIVATE))
event.getTextChannel().sendMessage(event.getAuthor().getAsMention()+"\n\n__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `"+util.getMultip()+"`\n\t- En spam: `Oui`\n\t- Temps restant: `"+formatSecond(util.getTimeLeft())+"`").queue();
else
PrivateMessage.send(event.getAuthor(),"__**Spam info de "+user.getName()+":**__\n\n\t- Multiplicateur: `"+util.getMultip()+"`\n\t- En spam: `Oui`\n\t- Temps restant: `"+formatSecond(util.getTimeLeft())+"`",logger);
}
}
}
@Override
public String help(String[] args) {
return HELP;
}
@Override
public void executed(boolean success, MessageReceivedEvent event) {
}
@Override
public boolean isPrivateUsable() {
return true;
}
public String formatSecond(int second){
long days = TimeUnit.SECONDS.toDays(second);
second -= TimeUnit.DAYS.toSeconds(days);
long hours = TimeUnit.SECONDS.toHours(second);
second -= TimeUnit.HOURS.toSeconds(hours);
long minutes = TimeUnit.SECONDS.toMinutes(second);
second -= TimeUnit.MINUTES.toSeconds(minutes);
long seconds = TimeUnit.SECONDS.toSeconds(second);
logger.debug(""+days+":"+hours+":"+minutes+":"+seconds);
String finalText = "";
if(days!=0)
finalText += days+" jour(s) ";
if(hours!=0)
finalText += hours+"h ";
if(minutes!=0)
finalText += minutes+"min ";
finalText += seconds+"s";
return finalText;
}
} }

View File

@ -1,11 +1,10 @@
package net.Broken; package net.Broken;
import net.Broken.Commandes.*;
import net.Broken.Commandes.Over18.*; import net.Broken.Commandes.Over18.*;
import net.Broken.Outils.CommandParser; import net.Broken.Outils.CommandParser;
import net.Broken.Outils.DayListener; import net.Broken.Outils.DayListener;
import net.Broken.Outils.FindContentOnWebPage; import net.Broken.Outils.UserSpamUtils;
import net.Broken.Outils.Redirection;
import net.Broken.Commandes.*;
import net.dv8tion.jda.core.AccountType; import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDA; import net.dv8tion.jda.core.JDA;
import net.dv8tion.jda.core.JDABuilder; import net.dv8tion.jda.core.JDABuilder;
@ -19,7 +18,10 @@ import org.apache.logging.log4j.Logger;
import javax.security.auth.login.LoginException; import javax.security.auth.login.LoginException;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.ArrayList;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
/** /**
* Created by seb65 on 19/10/2016. * Created by seb65 on 19/10/2016.
@ -30,11 +32,10 @@ public class MainBot {
public static final CommandParser parser =new CommandParser(); public static final CommandParser parser =new CommandParser();
public static HashMap<String, Commande> commandes = new HashMap<>(); public static HashMap<String, Commande> commandes = new HashMap<>();
public static boolean okInit=false; public static boolean okInit=false;
public static HashMap<Member, String[]> historique =new HashMap<>(); public static HashMap<User, String[]> historique =new HashMap<>();
public static HashMap<Member, Integer> message_compteur =new HashMap<>(); public static HashMap<User, Integer> message_compteur =new HashMap<>();
public static Hashtable<Member,Integer> userMulti = new Hashtable(); public static HashMap<User, UserSpamUtils> spamUtils = new HashMap<>();
public static Hashtable<Member,Boolean> minuteurStatut = new Hashtable<>();
public static ArrayList<Class<?>> privateUsableCommand = new ArrayList<>(); public static ArrayList<Class<?>> privateUsableCommand = new ArrayList<>();
@ -98,6 +99,7 @@ public class MainBot {
commandes.put("sm",new SM()); commandes.put("sm",new SM());
commandes.put("madame",new Madame()); commandes.put("madame",new Madame());
commandes.put("cat",new Cat()); commandes.put("cat",new Cat());
commandes.put("spaminfo",new SpamInfo());
privateUsableCommand.add(Help.class); privateUsableCommand.add(Help.class);
privateUsableCommand.add(PingCommande.class); privateUsableCommand.add(PingCommande.class);
@ -135,8 +137,6 @@ public class MainBot {
dayListener.start(); dayListener.start();
logger.info("-----------------FIN INITIALISATION-----------------"); logger.info("-----------------FIN INITIALISATION-----------------");
/*List<User> userAction = serveur.getUsersByName("Broken_Fire");
new Move().exc(userAction.get(0),"Big Daddy",true,serveur,serveur.getManager());*/
jda.getPresence().setGame(Game.of("Statut: Ok!")); jda.getPresence().setGame(Game.of("Statut: Ok!"));
} }
@ -152,8 +152,7 @@ public class MainBot {
if (commandes.containsKey(cmd.commande)) if (commandes.containsKey(cmd.commande))
{ {
logger.debug("ok"); if(cmd.event.isFromType(ChannelType.PRIVATE) && commandes.get(cmd.commande).isPrivateUsable())
if(cmd.event.isFromType(ChannelType.PRIVATE) && privateUsableCommand.contains(commandes.get(cmd.commande).getClass()))
{ {
commandes.get(cmd.commande).action(cmd.args, cmd.event); commandes.get(cmd.commande).action(cmd.args, cmd.event);
@ -165,7 +164,7 @@ public class MainBot {
commandes.get(cmd.commande).executed(true, cmd.event); commandes.get(cmd.commande).executed(true, cmd.event);
} }
else else
cmd.event.getPrivateChannel().sendMessage("\n:warning: **__Commande non disponible en priver!__** :warning:").queue(); cmd.event.getPrivateChannel().sendMessage("\n:warning: **__Commande non disponible en privé!__** :warning:").queue();
} }
@ -203,7 +202,7 @@ public class MainBot {
e.printStackTrace(); e.printStackTrace();
} }
//System.out.println("\n5sec Ecoulées !"); //System.out.println("\n5sec Ecoulées !");
for (Member unUser: message_compteur.keySet() ) //=for(int i=0; i<saveRoleUser.size(); i++) for (User unUser: message_compteur.keySet() ) //=for(int i=0; i<saveRoleUser.size(); i++)
{ {
MainBot.message_compteur.put(unUser, 0); MainBot.message_compteur.put(unUser, 0);
} }

View File

@ -41,35 +41,35 @@ public class AntiSpam {
} }
// On créer un nouvelle case dans le tableau des statuts si il n'y est pas // On créer un nouvelle case dans le tableau des statuts si il n'y est pas
if(!MainBot.minuteurStatut.containsKey(user)) if(!MainBot.spamUtils.containsKey(user.getUser()))
{ {
MainBot.minuteurStatut.put(user,false); MainBot.spamUtils.put(user.getUser(),new UserSpamUtils(user));
} }
// On verrifie que l'uttilisateur n'est pas deja en spam // On verrifie que l'uttilisateur n'est pas deja en spam
if(!MainBot.minuteurStatut.get(user)) if(!MainBot.spamUtils.get(user.getUser()).isOnSpam())
{ {
//l'utilisateur n'est pas deja en spam //l'utilisateur n'est pas deja en spam
if(MainBot.userMulti.containsKey(user)) if(MainBot.spamUtils.get(user.getUser()).getMultip() != 0)
{ {
if(MainBot.userMulti.get(user)<45 && incrMulti) if(MainBot.spamUtils.get(user.getUser()).getMultip()<45 && incrMulti)
{ {
MainBot.userMulti.replace(user,MainBot.userMulti.get(user)*2); MainBot.spamUtils.get(user.getUser()).setMultip(MainBot.spamUtils.get(user.getUser()).getMultip()*2);
} }
} }
else else
MainBot.userMulti.put(user,1); MainBot.spamUtils.get(user.getUser()).setMultip(1);
logger.info("Punition de "+user.getEffectiveName()+" avec un multiplicateur de "+MainBot.userMulti.get(user)); logger.info("Punition de "+user.getEffectiveName()+" avec un multiplicateur de "+MainBot.spamUtils.get(user.getUser()));
event.getTextChannel().sendMessage(user.getAsMention()+"\n```markdown\n#-----------------SPAM DETECTEUR----------------#\n# #\n# La prochaine fois tu fermeras ta gueule! #\n# #\n# On te revoit dans "+MainBot.userMulti.get(user)+"min connard ! #\n# #\n#-----------------------------------------------#```\n https://cdn.meme.am/instances/64726692.jpg ").queue(); event.getTextChannel().sendMessage(user.getAsMention()+"\n```markdown\n#-----------------SPAM DETECTEUR----------------#\n# #\n# La prochaine fois tu fermeras ta gueule! #\n# #\n# On te revoit dans "+MainBot.spamUtils.get(user.getUser()).getMultip()+"min #\n# #\n#-----------------------------------------------#```").queue();
if(!MainBot.minuteurStatut.get(user)) if(!MainBot.spamUtils.get(user.getUser()).isOnSpam())
{ {
MainBot.minuteurStatut.replace(user,true); MainBot.spamUtils.get(user.getUser()).setOnSpam(true);
List<Role> spm = serveur.getRolesByName("Spammer", false); List<Role> spm = serveur.getRolesByName("Spammer", false);
move.exc(user, spm.get(0), true, serveur, serveurManger); move.exc(user, spm.get(0), true, serveur, serveurManger);
Thread minuteur =new Minuteur(MainBot.userMulti.get(user), 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));
minuteur.start(); MainBot.spamUtils.get(user.getUser()).launchMinuteur();
} }
} }
@ -86,6 +86,7 @@ public class AntiSpam {
public GuildManager serveurManager; public GuildManager serveurManager;
public int multip; public int multip;
public MessageReceivedEvent event; public MessageReceivedEvent event;
public int timeLeft;
public Minuteur(int multip, Member user, List<Role> saveRoleUser, Guild serveur, GuildManager serveurManager, MessageReceivedEvent event ) public Minuteur(int multip, Member user, List<Role> saveRoleUser, Guild serveur, GuildManager serveurManager, MessageReceivedEvent event )
@ -97,30 +98,30 @@ public class AntiSpam {
this.serveurManager=serveurManager; this.serveurManager=serveurManager;
this.event=event; this.event=event;
this.chanel=event.getTextChannel(); this.chanel=event.getTextChannel();
this.timeLeft = 60*multip;
} }
@Override @Override
public void run() { public void run() {
int cSeg=0;
logger.info("["+user.getEffectiveName()+"] Démarage pour "+multip+"min"); logger.info("["+user.getEffectiveName()+"] Démarage pour "+multip+"min");
while (MainBot.minuteurStatut.get(user)) while (MainBot.spamUtils.get(user.getUser()).isOnSpam())
{ {
try { try {
sleep(1000); sleep(1000);
} catch (InterruptedException e) { } catch (InterruptedException e) {
e.printStackTrace(); e.printStackTrace();
} }
if(cSeg>60*multip) if(timeLeft<=0)
{ {
MainBot.minuteurStatut.replace(user,false); MainBot.spamUtils.get(user.getUser()).setOnSpam(false);
} }
cSeg++; timeLeft--;
} }
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.");
move.exc(user, saveRoleUser.get(0), true, serveur, serveurManager); //aSaveroleUser=saveRoleUser.get(i) move.exc(user, saveRoleUser.get(0), true, serveur, serveurManager); //aSaveroleUser=saveRoleUser.get(i)
logger.info("["+user.getEffectiveName()+"] Fin des "+multip+"min"); logger.info("["+user.getEffectiveName()+"] Fin des "+multip+"min");
chanel.sendMessage(user.getAsMention()+"\n```markdown\n#-----------------SPAM DETECTEUR----------------#\n# #\n# Un spammeur est de retour, fais gaffe! #\n# Je te surveille! #\n# #\n#-----------------------------------------------#```\n http://67.media.tumblr.com/tumblr_lvrf58vBkL1qibz0jo1_r1_500.png").queue(); chanel.sendMessage(user.getAsMention()+"\n```markdown\n#-----------------SPAM DETECTEUR----------------#\n# #\n# Un spammeur est de retour, fais gaffe! #\n# Je te surveille! #\n# #\n#-----------------------------------------------#```").queue();
// #-----------------------------------------------# // #-----------------------------------------------#

View File

@ -47,7 +47,7 @@ public class Moderateur {
* Ajout dernier message recu + dans histo' * * Ajout dernier message recu + dans histo' *
********************************************/ ********************************************/
toi[0] = event.getMessage().getContent();// On stocke en position [0] le nouveau message toi[0] = event.getMessage().getContent();// On stocke en position [0] le nouveau message
MainBot.historique.put(user, toi);// On ajoute dans l'historique TOI MainBot.historique.put(user.getUser(), toi);// On ajoute dans l'historique TOI
/***************************** /*****************************
* ANALYSE des messages * * ANALYSE des messages *
@ -64,7 +64,7 @@ public class Moderateur {
toi[1] = ""; toi[1] = "";
toi[2] = ""; toi[2] = "";
toi[3] = ""; toi[3] = "";
MainBot.historique.put(user, toi); MainBot.historique.put(user.getUser(), toi);
} }
} else { } else {
@ -77,7 +77,7 @@ public class Moderateur {
toi[1] = ""; toi[1] = "";
toi[2] = ""; toi[2] = "";
toi[3] = ""; toi[3] = "";
MainBot.historique.put(user, toi); MainBot.historique.put(user.getUser(), toi);
} }
/********************************** /**********************************
* AFFICHAGE DE HISTORIQUE * * AFFICHAGE DE HISTORIQUE *
@ -89,24 +89,24 @@ public class Moderateur {
/******************************************** /********************************************
* Comptage du nombre de message * * Comptage du nombre de message *
********************************************/ ********************************************/
if(MainBot.message_compteur.containsKey(user))// Si le user a deja posté un message if(MainBot.message_compteur.containsKey(user.getUser()))// Si le user a deja posté un message
{ {
int cpt = MainBot.message_compteur.get(user); int cpt = MainBot.message_compteur.get(user.getUser());
cpt++; cpt++;
//System.out.println("compteur : "+cpt); //System.out.println("compteur : "+cpt);
MainBot.message_compteur.put(user, cpt); MainBot.message_compteur.put(user.getUser(), cpt);
if(cpt > 5){ if(cpt > 5){
MainBot.message_compteur.put(user,0); MainBot.message_compteur.put(user.getUser(),0);
spam = 1; spam = 1;
logger.info("Detection de spam pour "+user.getEffectiveName()+"avec 5 message en 5seg: "); logger.info("Detection de spam pour "+user.getEffectiveName()+"avec 5 message en 5seg: ");
String[] histo = MainBot.historique.get(user); String[] histo = MainBot.historique.get(user.getUser());
for (String unMessage:histo ) //=for(int i=0; i<saveRoleUser.size(); i++) for (String unMessage:histo ) //=for(int i=0; i<saveRoleUser.size(); i++)
{ {
logger.debug("\t*"+unMessage); logger.debug("\t*"+unMessage);
} }
} }
}else{ }else{
MainBot.message_compteur.put(user, 1); MainBot.message_compteur.put(user.getUser(), 1);
} }
return spam; return spam;

View File

@ -0,0 +1,48 @@
package net.Broken.Outils;
import net.dv8tion.jda.core.entities.Member;
public class UserSpamUtils {
private AntiSpam.Minuteur minuteur;
private Member user;
private int multip = 0;
private boolean onSpam = false;
public int getTimeLeft(){
return minuteur.timeLeft;
}
public int getMultip()
{
return multip;
}
public UserSpamUtils(Member user) {
this.user = user;
}
public void setMinuteur(AntiSpam.Minuteur minuteur) {
this.minuteur = minuteur;
}
public void launchMinuteur(){
minuteur.start();
}
public void setMultip(int multip) {
this.multip = multip;
}
public boolean isOnSpam() {
return onSpam;
}
public void setOnSpam(boolean onSpam) {
this.onSpam = onSpam;
}
}