diff --git a/src/game/chat_handler.cpp b/src/game/chat_handler.cpp index 327efc3c..e33090ba 100644 --- a/src/game/chat_handler.cpp +++ b/src/game/chat_handler.cpp @@ -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