diff --git a/src/webpage/localuser.ts b/src/webpage/localuser.ts index 0df1b4a..a11fc65 100644 --- a/src/webpage/localuser.ts +++ b/src/webpage/localuser.ts @@ -3700,8 +3700,8 @@ class Localuser { ); } MDFineMentionGen(name: string, original: string, box: HTMLDivElement, typebox: MarkDown) { - let members: [Member | Role | User | "@everyone", number][] = []; - if (this.lookingguild && name !== "everyone") { + let members: [Member | Role | User | "@everyone" | "@here", number][] = []; + if (this.lookingguild && name !== "everyone" && name !== "here") { if (this.lookingguild.id === "@me") { const dirrect = this.channelfocus as Group; @@ -3737,15 +3737,17 @@ class Localuser { } const everyoneScore = similar("everyone"); if (everyoneScore) members.push(["@everyone", everyoneScore]); + const hereScore = similar("here"); + if (hereScore) members.push(["@here", hereScore]); } members.sort((a, b) => b[1] - a[1]); this.MDSearchOptions( members.map((a) => [ - a[0] === "@everyone" ? "@everyone" : "@" + a[0].name, + typeof a[0] === "string" ? a[0] : "@" + a[0].name, a[0] instanceof Role ? `<@&${a[0].id}> ` - : a[0] === "@everyone" - ? "@everyone " + : typeof a[0] === "string" + ? a[0] + " " : `<@${a[0].id}> `, undefined, ]), diff --git a/src/webpage/markdown.ts b/src/webpage/markdown.ts index f35e759..2a1c3e9 100644 --- a/src/webpage/markdown.ts +++ b/src/webpage/markdown.ts @@ -599,15 +599,26 @@ class MarkDown { } j++; } - if (everyone) { + let here = false; + if (!everyone) { + here = true; + for (const char of "here") { + if (char !== txt[j]) { + here = false; + break; + } + j++; + } + } + if (everyone || here) { i = j - 1; const mention = document.createElement("span"); mention.classList.add("mentionMD"); mention.contentEditable = "false"; - mention.textContent = "@everyone"; + mention.textContent = everyone ? "@everyone" : "@here"; appendcurrent(); span.appendChild(mention); - mention.setAttribute("real", `@everyone`); + mention.setAttribute("real", everyone ? `@everyone` : "@here"); continue; } }