diff options
author | Tom Smeding <tom.smeding@gmail.com> | 2020-06-28 21:09:46 +0200 |
---|---|---|
committer | Tom Smeding <tom.smeding@gmail.com> | 2020-06-28 21:09:46 +0200 |
commit | eef139412c15d236fb797262a36f9e75fea860d9 (patch) | |
tree | 5ab8a83fa9af23fb7e090d48deba195c661a24f5 | |
parent | 0fafc1469701dfd6e4ae81dfc27fddb905ad602f (diff) |
webclient: /help command
-rw-r--r-- | webclient/client.html | 31 |
1 files changed, 28 insertions, 3 deletions
diff --git a/webclient/client.html b/webclient/client.html index 57eee90..766b035 100644 --- a/webclient/client.html +++ b/webclient/client.html @@ -9,6 +9,15 @@ var roomlist=[":console"]; var currentroom=":console"; var roomlogs=new Map([[":console",[]]]); +var commandlist=[ + {cmd:"register",usage:"/register <username> <password>"}, + {cmd:"login",usage:"/login <username> <password>"}, + {cmd:"createroom",usage:"/createroom"}, + {cmd:"invite",usage:"/invite <username> (adds to current room)"}, + {cmd:"shrug",usage:"/shrug (sends '¯\\_(ツ)_/¯')"}, + {cmd:"help",usage:"/help (show list of commands)"} +]; + var uniqid=(function(){ var id=1; return function uniqid(){ @@ -296,6 +305,16 @@ function addRoomEntry(roomid,type,args){ } } +function showUsage(roomid,cmd){ + for(var i=0;i<commandlist.length;i++){ + if(commandlist[i].cmd==cmd){ + addRoomEntry(roomid,"error",[now(),"Usage: "+commandlist[i].usage]); + return; + } + } + throw new Error("No usage registered for command '"+cnd+"'!"); +} + function executeCommand(roomid,text){ var spl=fancySplit(text,true); if(spl.word.length==0)return; @@ -305,7 +324,7 @@ function executeCommand(roomid,text){ case "register": case "login": if(spl.word.length<3){ - addRoomEntry(roomid,"error",[now(),"Usage: /"+cmd+" <username> <password>"]); + showUsage(roomid,cmd); break; } creds=[spl.word[1],spl.rest[2]]; @@ -325,7 +344,7 @@ function executeCommand(roomid,text){ case "createroom": if(spl.word.length!=1){ - addRoomEntry(roomid,"error",[now(),"Usage: /createroom"]); + showUsage(roomid,cmd); break; } if(!username){ @@ -344,7 +363,7 @@ function executeCommand(roomid,text){ case "invite": if(spl.word.length<2){ - addRoomEntry(roomid,"error",[now(),"Usage: /invite <username> (adds to current room)"]); + showUsage(roomid,cmd); break; } if(!username){ @@ -369,6 +388,12 @@ function executeCommand(roomid,text){ sendMessage(roomid,"¯\\_(ツ)_/¯"); break; + case "help": + for(var i=0;i<commandlist.length;i++){ + addRoomEntry(roomid,"notice",[now(),commandlist[i].usage]); + } + break; + default: addRoomEntry(roomid,"error",[now(),"Unknown command '"+cmd+"'"]); break; |