Browse Source

Add support for snippets

master
Chris Smith 15 years ago
parent
commit
69d1ed10d5
1 changed files with 21 additions and 1 deletions
  1. 21
    1
      src/com/md87/charliebravo/InputHandler.java

+ 21
- 1
src/com/md87/charliebravo/InputHandler.java View File

18
 import com.md87.charliebravo.commands.GoogleCommand;
18
 import com.md87.charliebravo.commands.GoogleCommand;
19
 import com.md87.charliebravo.commands.HelpCommand;
19
 import com.md87.charliebravo.commands.HelpCommand;
20
 import com.md87.charliebravo.commands.IssueCommand;
20
 import com.md87.charliebravo.commands.IssueCommand;
21
+import com.md87.charliebravo.commands.NewzbinCommand;
21
 import com.md87.charliebravo.commands.QuitCommand;
22
 import com.md87.charliebravo.commands.QuitCommand;
22
 import com.md87.charliebravo.commands.SetCommand;
23
 import com.md87.charliebravo.commands.SetCommand;
23
 import com.md87.charliebravo.commands.SkillCommand;
24
 import com.md87.charliebravo.commands.SkillCommand;
41
 
42
 
42
     protected final List<Command> commands = new ArrayList<Command>();
43
     protected final List<Command> commands = new ArrayList<Command>();
43
     protected final Map<String, Response> responses = new HashMap<String, Response>();
44
     protected final Map<String, Response> responses = new HashMap<String, Response>();
45
+    protected final Map<String, String> snippets = new HashMap<String, String>();
44
 
46
 
45
     public InputHandler(final Config config) {
47
     public InputHandler(final Config config) {
46
         this.config = config;
48
         this.config = config;
57
         commands.add(new GitCommand());
59
         commands.add(new GitCommand());
58
         commands.add(new SetCommand());
60
         commands.add(new SetCommand());
59
         commands.add(new SkillCommand());
61
         commands.add(new SkillCommand());
62
+        commands.add(new NewzbinCommand());
60
     }
63
     }
61
 
64
 
62
     public Config getConfig() {
65
     public Config getConfig() {
87
         for (String nick : getNicknames()) {
90
         for (String nick : getNicknames()) {
88
             if (sMessage.matches("^(?i)" + Matcher.quoteReplacement(nick) + "[,:!] .*")) {
91
             if (sMessage.matches("^(?i)" + Matcher.quoteReplacement(nick) + "[,:!] .*")) {
89
                 handleInput(ClientInfo.parseHost(sHost), cChannel.getName(),
92
                 handleInput(ClientInfo.parseHost(sHost), cChannel.getName(),
90
-                        sMessage.substring(tParser.getMyNickname().length() + 2));
93
+                        sMessage.substring(nick.length() + 2));
94
+                break;
95
+            } else if (sMessage.matches("^(?i)" + Matcher.quoteReplacement(nick) + "\\?")
96
+                    && snippets.containsKey(cChannel.getName())) {
97
+                handleInput(ClientInfo.parseHost(sHost), cChannel.getName(),
98
+                        snippets.get(cChannel.getName()));
99
+                break;
100
+            }
101
+        }
102
+
103
+        for (Map.Entry<String, String> snippet : config.getConfigfile()
104
+                .getKeyDomain("snippets").entrySet()) {
105
+            System.out.println("Snippet test: " + snippet.getKey());
106
+            if (sMessage.matches(snippet.getKey())) {
107
+                snippets.put(cChannel.getName(), sMessage.replaceFirst(snippet.getKey(),
108
+                        snippet.getValue()));
109
+                System.out.println("Snippet: " + snippets.get(cChannel.getName()));
91
                 break;
110
                 break;
92
             }
111
             }
93
         }
112
         }
98
             parser.getMyNickname(),
117
             parser.getMyNickname(),
99
             parser.getMyNickname().replaceAll("[a-z]", ""),
118
             parser.getMyNickname().replaceAll("[a-z]", ""),
100
             parser.getMyNickname().replaceAll("[^a-zA-Z]", ""),
119
             parser.getMyNickname().replaceAll("[^a-zA-Z]", ""),
120
+            parser.getMyNickname().replaceAll("[^A-Z]", ""),
101
         };
121
         };
102
     }
122
     }
103
 
123
 

Loading…
Cancel
Save