added raid message support
This commit is contained in:
@@ -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)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user