1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.plugin.opennap.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 import org.xnap.plugin.opennap.net.msg.MessageHandler;
29 import org.xnap.plugin.opennap.net.msg.client.RegisterUserMessage;
30
31 /***
32 *
33 */
34 public class OpenNapRegisterUserCommand extends AbstractCommand
35 {
36
37
38
39
40
41 private OpenNapConsole nc;
42
43
44
45 public OpenNapRegisterUserCommand(OpenNapConsole nc)
46 {
47 this.nc = nc;
48
49 putValue(CMD, "register");
50 putValue(ALIASES, new String[] { "reg" });
51 putValue(PARAMETER, "nick password email [level]");
52 putValue(SHORT_HELP, XNap.tr("Registers a user."));
53 putValue(LONG_HELP, XNap.tr("The level parameter has to be set for SlavaOpenNap servers."));
54 }
55
56
57
58 public void execute(String command, Console console)
59 throws SyntaxException
60 {
61 StringTokenizer t = new StringTokenizer(command);
62
63
64 t.nextToken();
65
66 if (t.countTokens() < 3 || t.countTokens() > 4) {
67 throw new SyntaxException();
68 }
69
70 String nick = t.nextToken();
71 String password = t.nextToken();
72 String email = t.nextToken();
73 String level = null;
74 if (t.hasMoreTokens()) {
75 level = t.nextToken();
76 }
77
78 RegisterUserMessage msg
79 = new RegisterUserMessage(nick, password, email, level);
80 msg.setExceptionListener(nc);
81 MessageHandler.send(nc.getServer(), msg);
82 }
83
84 }