From cf0c557a25d65468a4332290842d96a8e827f368 Mon Sep 17 00:00:00 2001 From: Rim Date: Wed, 15 May 2024 15:18:07 -0400 Subject: [PATCH] maint(elimination_handler.cpp): remove links from server names --- src/services/elimination_handler.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/services/elimination_handler.cpp b/src/services/elimination_handler.cpp index 3a13666..ebd08eb 100644 --- a/src/services/elimination_handler.cpp +++ b/src/services/elimination_handler.cpp @@ -1,9 +1,20 @@ #include #include "elimination_handler.hpp" -constexpr auto T7_PROTOCOL = 7; +#include -constexpr size_t MAX_SERVERS_PER_GAME = 10; +namespace +{ + constexpr auto T7_PROTOCOL = 7; + + constexpr size_t MAX_SERVERS_PER_GAME = 10; + + std::array bad_names = + { + "http", + "discord.gg", + }; +} void elimination_handler::run_frame() { @@ -40,6 +51,16 @@ void elimination_handler::run_frame() console::log("Removing server '%s' because it exceeds MAX_SERVERS_PER_GAME", context.get_address().to_string().data()); context.remove(); } + + const auto name = utils::string::to_lower(server.name); + for (const auto& entry : bad_names) + { + if (const auto pos = name.find(entry); pos != std::string::npos) + { + console::log("Removing server '%s' (%s) because it contains a bad name", server.name.data(), context.get_address().to_string().data()); + context.remove(); + } + } }); now = std::chrono::high_resolution_clock::now();