fix: filter BG queue announcer spam from system chat

ChromieCraft/AzerothCore BG queue announcer module floods chat with
SYSTEM messages like "Queue status for Alterac Valley [H: 12/40, A: 15/40]".
Now filtered by detecting common patterns: "Queue status", "BG Queue",
"Announcer]", and "[H:...A:..." format.

Equipment status: resolved items ARE rendering (head, shoulders, chest,
legs confirmed with displayIds). Remaining unresolved slots (weapons)
are item queries the server hasn't responded to yet — timing issue,
not a client bug. Items trickle in over ~5 seconds as queries return.
This commit is contained in:
Kelsi 2026-03-28 15:01:25 -07:00
parent 11571c582b
commit 12f5aaf286

View file

@ -196,6 +196,19 @@ void ChatHandler::handleMessageChat(network::Packet& packet) {
}
}
// Filter BG queue announcer spam (server-side module on ChromieCraft/AzerothCore).
// These are SYSTEM messages with BG queue status that flood the chat.
if (data.type == ChatType::SYSTEM) {
const auto& msg = data.message;
// Common patterns: "[BG Queue Announcer]", "Queue status for", "[H: N/N, A: N/N]"
if (msg.find("Queue status") != std::string::npos ||
msg.find("BG Queue") != std::string::npos ||
msg.find("Announcer]") != std::string::npos ||
(msg.find("[H:") != std::string::npos && msg.find("A:") != std::string::npos)) {
return; // Suppress BG queue announcer spam
}
}
// Filter officer chat if player doesn't have officer chat permission.
// Some servers send officer chat to all guild members regardless of rank.
// WoW guild right bit 0x40 = GR_RIGHT_OFFCHATSPEAK, 0x80 = GR_RIGHT_OFFCHATLISTEN