X-Git-Url: http://git.scottworley.com/reliable-chat/blobdiff_plain/b669fb70ef824a1a492ad4b16d4fe0f6b1f6746e..112df9d11e5a30edba4bdcb065d68e182ef1d694:/webclient/rc.html?ds=sidebyside

diff --git a/webclient/rc.html b/webclient/rc.html
index 8daa1ad..d06f515 100644
--- a/webclient/rc.html
+++ b/webclient/rc.html
@@ -303,13 +303,20 @@
 			history.push(message);
 			message_i = history.length-1;
 		}
+		if (message_i + 1 < history.length) {
+			rcaddmessagetoUI(message, history[message_i + 1].UI);
+		} else {
+			rcaddmessagetoUI(message, null);
+		}
+	}
 
+	function rcaddmessagetoUI(message, before) {
 		if (!message.UI) {
 			rcmakemessageUI(message);
 		}
 		var h = document.getElementById("history");
-		if (message_i + 1 < history.length) {
-			h.insertBefore(message.UI, history[message_i + 1].UI);
+		if (before) {
+			h.insertBefore(message.UI, before);
 		} else {
 			h.appendChild(message.UI);
 		}
@@ -436,13 +443,20 @@
 
 	function rcinput(input) {
 		var message;
-		var re = /^\/([a-z]+) (.*)/
+		var re = /^\/(\S+)(\s(.*))?/
 		var match = re.exec(input);
-		if (match && match[1] == 'me') {
-			message = "* " + rcnick() + "  " + match[2];
-		} else if (match && match[1] == 'nick') {
-			message = "*** " + rcnick() + " is now known as " + match[2];
-			rcsetnick(match[2]);
+		if (match) {
+			var command = match[1];
+			var rest = match[3];
+			if (command == 'me') {
+				message = "* " + rcnick() + "  " + rest;
+			} else if (command == 'nick') {
+				message = "*** " + rcnick() + " is now known as " + rest;
+				rcsetnick(rest);
+			} else {
+				rcaddmessagetoUI({'Text': '-!- No such command: ' + command, 'ServerTimes': {}});
+				return;
+			}
 		} else {
 			message = "<" + rcnick() + "> " + input;
 		}