From 14ac3617ceb5d04c791a33dbc5787ee3556dad71 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Sat, 25 Apr 2020 20:20:39 +0200 Subject: [PATCH] Add support for /me --- assets/client.js | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/assets/client.js b/assets/client.js index e0c942b..e570711 100644 --- a/assets/client.js +++ b/assets/client.js @@ -42,14 +42,13 @@ function createMessageElement(msg) { }; line.appendChild(timestamp); + line.appendChild(document.createTextNode(" ")); switch (msg.command) { case "NOTICE": case "PRIVMSG": var text = msg.params[1]; - line.className += " talk"; - var nick = document.createElement("a"); nick.href = "#"; nick.className = "nick nick-" + (djb2(msg.prefix.name) % 16 + 1); @@ -59,10 +58,23 @@ function createMessageElement(msg) { switchBuffer(createBuffer(msg.prefix.name)); }; - line.appendChild(document.createTextNode(" <")); - line.appendChild(nick); - line.appendChild(document.createTextNode("> ")); - line.appendChild(document.createTextNode(text)); + var actionPrefix = "\001ACTION "; + if (text.startsWith(actionPrefix) && text.endsWith("\001")) { + var action = text.slice(actionPrefix.length, -1); + + line.className += " me-tell"; + + line.appendChild(document.createTextNode("* ")); + line.appendChild(nick); + line.appendChild(document.createTextNode(" " + action)); + } else { + line.className += " talk"; + + line.appendChild(document.createTextNode("<")); + line.appendChild(nick); + line.appendChild(document.createTextNode("> ")); + line.appendChild(document.createTextNode(text)); + } break; default: line.appendChild(document.createTextNode(" " + msg.command + " " + msg.params.join(" ")));