]> git.scottworley.com Git - reliable-chat/blobdiff - webclient/rc.html
/nick currentnick should do nothing
[reliable-chat] / webclient / rc.html
index 884a9eb14564c239b5913732f2e36b7509cb8998..2e05a86312a4868ac7088e61ab081b8422b22e4d 100644 (file)
@@ -32,7 +32,7 @@
                font-family: monospace;
        }
        a {
-               color: white;
+               color: #ddd;
        }
        #container {
                height: 100%;
        .expandingArea {
                position: relative;
                border: 1px solid #888;
-               background: #fff;
+               background: silver;
        }
        .expandingArea > textarea,
        .expandingArea > pre {
 
   /*]]>*/--></style>
   <script type="text/javascript"><!--//--><![CDATA[//><!--
-       var servers = ['chkno.net', 'rc2.chkno.net', 'echto.net', 'the-wes.com', 'vibrantlogic.com'];
+       var servers = ['chkno.net', 'rc2.chkno.net', 'reliablechat-chk.rhcloud.com:80', 'intense-basin-3395.herokuapp.com:80', 'echto.net', 'the-wes.com', 'vibrantlogic.com'];
 
        var session = Math.random();  // For outgoing message IDs
        var since = {};    // server -> time: For fetch?since=
                        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);
                }
 
        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') {
+                               if (rcnick() == rest) {
+                                       rcaddmessagetoUI({'Text': '-!- Your nick is already ' + rcnick(), 'ServerTimes': {}});
+                                       return;
+                               }
+                               message = "*** " + rcnick() + " is now known as " + rest;
+                               rcsetnick(rest);
+                       } else {
+                               rcaddmessagetoUI({'Text': '-!- No such command: ' + command, 'ServerTimes': {}});
+                               return;
+                       }
                } else {
                        message = "<" + rcnick() + "> " + input;
                }