added raid message support

This commit is contained in:
zomo
2026-04-19 20:11:00 -05:00
parent dc5afe4743
commit 27ae0dd0ab
5 changed files with 51 additions and 38 deletions
+30 -10
View File
@@ -5,7 +5,7 @@ import {
nameImages,
usernameExtraSuffix,
} from './options'
import { ChatMessage, elementTreeFind, innermostElement } from './util'
import { NameDetails, elementTreeFind, innermostElement } from './util'
function loadChatMessage(chatboxMessage: Element) {
// only chat messages
@@ -58,7 +58,7 @@ function loadChatMessage(chatboxMessage: Element) {
}
// combine details into object
const chatMessage: ChatMessage = {
const chatMessage: NameDetails = {
username: chatboxUserInner.textContent,
isMod,
}
@@ -80,16 +80,12 @@ function loadReplyLine(chatboxMessage: Element) {
'p > span:nth-child(1)'
)
if (!replyUsername) {
return
}
// already applied username
if (replyUsername.querySelector('.obf-name')) {
if (!replyUsername || replyUsername.querySelector('.obf-name')) {
return
}
const chatMessage: ChatMessage = {
const chatMessage: NameDetails = {
username: replyUsername.textContent.replace(/^@/, ''),
isMod: false,
}
@@ -109,7 +105,7 @@ function loadMessageMentions(chatboxMessage: Element) {
return
}
const chatMessage: ChatMessage = {
const chatMessage: NameDetails = {
username: messageMention.textContent.replace(/^@/, ''),
isMod: false,
}
@@ -131,6 +127,29 @@ function loadMessageMentions(chatboxMessage: Element) {
}
}
function loadRaidMessage(chatboxMessage: Element) {
const usernamebox = chatboxMessage.querySelector<HTMLElement>(
'[data-test-selector="user-notice-line"] div > strong:nth-child(1)'
)
// already applied username
if (!usernamebox || usernamebox.querySelector('.obf-name')) {
return
}
const chatMessage: NameDetails = {
username: usernamebox.textContent,
isMod: false,
}
// run main script (process chatMessage), return new ChatMessage
const newChatMessage = obfuscator(chatMessage)
if (newChatMessage !== null) {
setUsernameDetails(newChatMessage, usernamebox)
}
}
function loadAdditionalUserNames(chatboxMessage: Element) {
// look for additional chat member names
const chatterNames =
@@ -152,7 +171,7 @@ function loadAdditionalUserNames(chatboxMessage: Element) {
}
// combine details into object
const chatMessage: ChatMessage = {
const chatMessage: NameDetails = {
username,
isMod: false,
}
@@ -234,5 +253,6 @@ function eachMutationTarget(record: MutationRecord, target: HTMLElement) {
}
loadChatMessage(chatboxMessage)
loadAdditionalUserNames(chatboxMessage)
loadRaidMessage(chatboxMessage)
}
}