diff --git a/client/components/MessageTypes/mode_user.vue b/client/components/MessageTypes/mode_user.vue
new file mode 100644
index 00000000..8c3185eb
--- /dev/null
+++ b/client/components/MessageTypes/mode_user.vue
@@ -0,0 +1,15 @@
+
+
+ Your user mode is {{ message.raw_modes }}
+
+
+
+
diff --git a/client/css/style.css b/client/css/style.css
index 1ce106b6..6e2761de 100644
--- a/client/css/style.css
+++ b/client/css/style.css
@@ -308,6 +308,7 @@ p {
#chat .msg[data-type="quit"] .from::before,
#chat .msg[data-type="topic"] .from::before,
#chat .msg[data-type="mode_channel"] .from::before,
+#chat .msg[data-type="mode_user"] .from::before,
#chat .msg[data-type="mode"] .from::before,
#chat .msg[data-command="motd"] .from::before,
#chat .msg[data-command="help"] .from::before,
@@ -434,6 +435,7 @@ p {
}
#chat .msg[data-type="mode_channel"] .from::before,
+#chat .msg[data-type="mode_user"] .from::before,
#chat .msg[data-type="mode"] .from::before {
content: "\f05a"; /* http://fontawesome.io/icon/info-circle/ */
color: #2ecc40;
diff --git a/src/models/msg.js b/src/models/msg.js
index 705f4e1d..c6d87d13 100644
--- a/src/models/msg.js
+++ b/src/models/msg.js
@@ -47,6 +47,7 @@ class Msg {
this.type !== Msg.Type.ERROR &&
this.type !== Msg.Type.TOPIC_SET_BY &&
this.type !== Msg.Type.MODE_CHANNEL &&
+ this.type !== Msg.Type.MODE_USER &&
this.type !== Msg.Type.RAW &&
this.type !== Msg.Type.WHOIS &&
this.type !== Msg.Type.PLUGIN
@@ -66,6 +67,7 @@ Msg.Type = {
MESSAGE: "message",
MODE: "mode",
MODE_CHANNEL: "mode_channel",
+ MODE_USER: "mode_user", // RPL_UMODEIS
MONOSPACE_BLOCK: "monospace_block",
NICK: "nick",
NOTICE: "notice",
diff --git a/src/plugins/irc-events/mode.js b/src/plugins/irc-events/mode.js
index 9c9bf6b2..8046207f 100644
--- a/src/plugins/irc-events/mode.js
+++ b/src/plugins/irc-events/mode.js
@@ -39,6 +39,18 @@ module.exports = function (irc, network) {
targetChan.pushMessage(client, msg);
});
+ irc.on("user info", function (data) {
+ const serverChan = network.channels[0];
+
+ const msg = new Msg({
+ type: Msg.Type.MODE_USER,
+ raw_modes: data.raw_modes,
+ self: false,
+ showInActive: true,
+ });
+ serverChan.pushMessage(client, msg);
+ });
+
irc.on("mode", function (data) {
let targetChan;