blob: 8b2463fc17b198c11f9abfcfcd5116ca7da7b7e9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
package server;
import js.html.Console;
import js.node.Readline;
import js.Node.process;
using StringTools;
class ConsoleInput {
final main:Main;
public function new(main:Main) {
this.main = main;
}
public function initConsoleInput():Void {
final rl = Readline.createInterface(process.stdin, process.stdout);
haxe.Log.trace = (msg, ?pos) -> {
Readline.clearLine(process.stdout, 0);
Readline.cursorTo(process.stdout, 0, null);
Console.log(msg);
rl.prompt(true);
};
rl.prompt();
rl.on("line", line -> {
parseLine(line);
rl.prompt();
});
// rl.on("close", exit);
}
function parseLine(line:String):Void {
if (line.startsWith("/addAdmin")) {
final args = line.split(" ");
if (args.length != 3) {
trace("Wrong count of arguments");
return;
}
final name = args[1];
final password = args[2];
if (main.badNickName(name)) {
final error = Lang.get("usernameError")
.replace("$MAX", '${main.config.maxLoginLength}');
trace(error);
return;
}
main.addAdmin(name, password);
} else if (line == "/exit") {
main.exit();
return;
} else {
trace('Unknown command "$line". List:
/addAdmin name password | Adds channel admin
/exit | Exit process');
}
}
}
|