Browse Source

feat: Ajout action Liste

Martin Passard 7 years ago
parent
commit
5f824babe7
1 changed files with 80 additions and 0 deletions
  1. 80 0
      src/actions/Liste.java

+ 80 - 0
src/actions/Liste.java

@@ -0,0 +1,80 @@
+package actions;
+
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+import data.ISP;
+import data.ISPDAO;
+import main.AffichableSurIRC;
+import main.Bot;
+import main.Cache;
+
+public class Liste extends Action {
+
+	public Liste(Bot b) {
+		this.bot = b;
+		List<String> ar = new ArrayList<>();
+		ar.add("liste");
+		this.keyWords = ar;
+	}
+
+	@Override
+	public void react(String channel, String sender, String login, String hostname, String message) {
+		ISPDAO idao = ISPDAO.getInstance();
+		Cache c = Cache.getInstance();
+		List<ISP> listeFAI=null;
+		try {
+			listeFAI = c.getListe();
+		}catch (Exception e) {
+			try {
+				listeFAI = idao.getISPs();
+			} catch (Exception e1) {
+				// TODO Auto-generated catch block
+				e1.printStackTrace();
+			}
+		}
+
+
+
+		List<String> messages = new LinkedList<>();
+		messages.add("Les FAI surveillés par mes petits yeux mignons de bot sont:");
+		String s="";
+
+
+		if(message.indexOf(' ')!=-1 && message.substring(message.indexOf(" ")).contains("all")) {
+			messages.add("=== Hors fédé: ===");
+			for(ISP isp: listeFAI) {
+				if(!isp.isFFDNMember()) {
+					s+= isp.getBetterName()+", ";
+				}
+				if(s.length()>=AffichableSurIRC.MAX_CHARACTERS) {
+					messages.add(s);
+					s="";
+				}
+			}
+			messages.add(s);
+			s="";
+		}
+		messages.add("=== Dans la fédé: ===");
+		for(ISP isp: listeFAI ) {
+			if(isp.isFFDNMember()) {
+
+				s+= isp.getBetterName();
+
+				if(s.length()>=AffichableSurIRC.MAX_CHARACTERS) {
+					messages.add(s);
+					s="";
+				}else {
+					s+=", ";
+				}
+			}
+		}
+		messages.add(s);
+		Bot b2 = (Bot) bot;
+		b2.sendMessage(channel, messages);
+	}
+
+}
+
+