diff options
| author | RblSb <msrblsb@gmail.com> | 2021-08-10 03:22:27 +0300 |
|---|---|---|
| committer | RblSb <msrblsb@gmail.com> | 2021-08-10 07:56:57 +0300 |
| commit | f972d4b7b1c6a69ab20cd2aee5a43df702796075 (patch) | |
| tree | 608f8031ef7e0885143eaf8670275171112c4e9a /src/server/ConsoleInput.hx | |
| parent | 96e10fe71d6428eed4bb2f120bc4b3a2801ff4be (diff) | |
Ban/unban commands
/ban Name 3d10h20m59s
/ban Name 2h30m
/unban Name
/removeBan Name
see #26
Diffstat (limited to 'src/server/ConsoleInput.hx')
| -rw-r--r-- | src/server/ConsoleInput.hx | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/server/ConsoleInput.hx b/src/server/ConsoleInput.hx index 9b8faf3..119d87e 100644 --- a/src/server/ConsoleInput.hx +++ b/src/server/ConsoleInput.hx @@ -18,6 +18,7 @@ private typedef CommandData = { private enum abstract Command(String) from String { var AddAdmin = "addAdmin"; + var RemoveAdmin = "removeAdmin"; var Replay = "replay"; var LogList = "logList"; var Exit = "exit"; @@ -30,6 +31,10 @@ class ConsoleInput { args: ["name", "password"], desc: "Adds channel admin" }, + RemoveAdmin => { + args: ["name"], + desc: "Removes channel admin" + }, Replay => { args: ["name"], desc: "Replay log file on server from user/logs/" @@ -54,10 +59,10 @@ class ConsoleInput { output: process.stdout, completer: onCompletion }); - haxe.Log.trace = (msg, ?pos) -> { + haxe.Log.trace = (msg:Dynamic, ?infos:haxe.PosInfos) -> { Readline.clearLine(process.stdout, 0); Readline.cursorTo(process.stdout, 0, null); - Console.log(msg); + Console.log(formatOutput(msg, infos)); rl.prompt(true); }; rl.prompt(); @@ -68,6 +73,16 @@ class ConsoleInput { // rl.on("close", exit); } + function formatOutput(v:Dynamic, infos:haxe.PosInfos):String { + var str = Std.string(v); + if (infos == null) return str; + if (infos.customParams != null) { + for (v in infos.customParams) + str += ", " + Std.string(v); + } + return str; + } + function onCompletion(line:String):Array<Or<Array<String>, String>> { final commands:Array<String> = [ for (item in commands.keys()) '/$item ' @@ -102,6 +117,10 @@ class ConsoleInput { } main.addAdmin(name, password); + case RemoveAdmin: + final name = args[0]; + main.removeAdmin(name); + case Replay: Utils.ensureDir(main.logsDir); final name = args[0]; |
