lib/irc: fix handling for prefixes without host
name!user is a valid prefix.
This commit is contained in:
32
lib/irc.js
32
lib/irc.js
@@ -122,32 +122,32 @@ export function parsePrefix(s) {
|
|||||||
host: null,
|
host: null,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let host = null;
|
||||||
let i = s.indexOf("@");
|
let i = s.indexOf("@");
|
||||||
if (i < 0) {
|
if (i > 0) {
|
||||||
prefix.name = s;
|
host = s.slice(i + 1);
|
||||||
return prefix;
|
s = s.slice(0, i);
|
||||||
}
|
}
|
||||||
prefix.host = s.slice(i + 1);
|
|
||||||
s = s.slice(0, i);
|
|
||||||
|
|
||||||
|
let user = null;
|
||||||
i = s.indexOf("!");
|
i = s.indexOf("!");
|
||||||
if (i < 0) {
|
if (i > 0) {
|
||||||
prefix.name = s;
|
user = s.slice(i + 1);
|
||||||
return prefix;
|
s = s.slice(0, i);
|
||||||
}
|
}
|
||||||
prefix.name = s.slice(0, i);
|
|
||||||
prefix.user = s.slice(i + 1);
|
return { name: s, user, host };
|
||||||
return prefix;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatPrefix(prefix) {
|
function formatPrefix(prefix) {
|
||||||
if (!prefix.host) {
|
let s = prefix.name;
|
||||||
return prefix.name;
|
if (prefix.user) {
|
||||||
|
s += "!" + prefix.user;
|
||||||
}
|
}
|
||||||
if (!prefix.user) {
|
if (prefix.host) {
|
||||||
return prefix.name + "@" + prefix.host;
|
s += "@" + prefix.host;
|
||||||
}
|
}
|
||||||
return prefix.name + "!" + prefix.user + "@" + prefix.host;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
export function parseMessage(s) {
|
export function parseMessage(s) {
|
||||||
|
|||||||
Reference in New Issue
Block a user