]> jfr.im git - irc/Ozafy/borknet_p10_irc_services.git/blob - core/modules/s/Spamwords.java
Readme
[irc/Ozafy/borknet_p10_irc_services.git] / core / modules / s / Spamwords.java
1 import java.io.File;
2 import org.w3c.dom.Document;
3 import org.w3c.dom.*;
4 import javax.xml.parsers.DocumentBuilderFactory;
5 import javax.xml.parsers.DocumentBuilder;
6 import org.xml.sax.SAXException;
7 import org.xml.sax.SAXParseException;
8 import java.util.*;
9 import borknet_services.core.*;
10 public class Spamwords
11 {
12 private HashMap<String,Integer> spamwords = new HashMap<String,Integer>();
13 private Core C;
14
15 public Spamwords(Core C)
16 {
17 this.C = C;
18 File xmlDocument=new File(System.getProperty("user.dir")+ File.separator + "core" + File.separator + "modules" + File.separator + "s" + File.separator + "spamwords.xml");
19 loadSpamwords(xmlDocument);
20 }
21
22 private void loadSpamwords(File xmlDocument)
23 {
24 try
25 {
26 DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
27 DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
28 Document doc = docBuilder.parse(xmlDocument);
29 doc.getDocumentElement().normalize ();
30 NodeList spam = doc.getElementsByTagName("spam");
31 for(int s=0; s<spam.getLength() ; s++)
32 {
33 Node spamNode = spam.item(s);
34 if(spamNode.getNodeType() == Node.ELEMENT_NODE)
35 {
36 Element spamElement = (Element)spamNode;
37 NodeList wordNode = spamElement.getElementsByTagName("word");
38 Element wordElement = (Element)wordNode.item(0);
39 NodeList wordL = wordElement.getChildNodes();
40 String word = (((Node)wordL.item(0)).getNodeValue().trim());
41 NodeList scoreNode = spamElement.getElementsByTagName("score");
42 Element scoreElement = (Element)scoreNode.item(0);
43 NodeList scoreL = scoreElement.getChildNodes();
44 String score = (((Node)scoreL.item(0)).getNodeValue().trim());
45 spamwords.put(word,Integer.parseInt(score));
46 }
47 }
48 }
49 catch (Exception e)
50 {
51 C.report("Failed loading spamwords. " + e.toString());
52 }
53 }
54
55 public Integer getPoints(String msg)
56 {
57 if(spamwords.containsKey(msg))
58 {
59 return spamwords.get(msg);
60 }
61 else
62 {
63 return 0;
64 }
65 }
66 }