1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.chat.command;
21
22 import java.util.StringTokenizer;
23
24 import org.xnap.XNap;
25 import org.xnap.cmdl.AbstractCommand;
26 import org.xnap.cmdl.Console;
27 import org.xnap.cmdl.SyntaxException;
28
29 /***
30 * This class provides the default /me command for sending action messages.
31 */
32 public abstract class AbstractMeCommand extends AbstractCommand
33 {
34
35
36
37 public AbstractMeCommand()
38 {
39 putValue(CMD, "me");
40 putValue(ALIASES, new String[] { "action" });
41 putValue(PARAMETER, "action");
42 putValue(SHORT_HELP, XNap.tr("Sends the action to the current channel (actions are written in the 3rd person, like /me jumps)."));
43 }
44
45
46
47 public void execute(String command, Console console)
48 throws SyntaxException
49 {
50 StringTokenizer t = new StringTokenizer(command);
51
52
53 t.nextToken();
54
55 if (t.countTokens() < 1) {
56 throw new SyntaxException();
57 }
58
59 String action = t.nextToken("");
60
61 send(console, action);
62 }
63
64 public abstract void send(Console console, String action);
65
66 }