From a6444310762fff7c58c0026720634cc295b4ed12 Mon Sep 17 00:00:00 2001 From: ilotterytea Date: Wed, 1 May 2024 00:46:34 +0500 Subject: feat: parse badges from irc message --- src/irc/message.hpp | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'src') diff --git a/src/irc/message.hpp b/src/irc/message.hpp index 94541a6..5f090b7 100644 --- a/src/irc/message.hpp +++ b/src/irc/message.hpp @@ -1,6 +1,7 @@ #pragma once #include +#include #include #include #include @@ -18,6 +19,8 @@ namespace bot { std::string display_name; int id; + std::map badges; + // More fields will be here }; @@ -85,6 +88,24 @@ namespace bot { source.id = std::stoi(value); } else if (key == "user-id") { sender.id = std::stoi(value); + } else if (key == "badges") { + std::vector badges = + utils::string::split_text(value, ','); + + std::map map; + + for (const auto &badge : badges) { + std::istringstream iss2(badge); + std::string name; + std::string value; + + std::getline(iss2, name, '/'); + std::getline(iss2, value); + + map.insert(name, value); + } + + sender.badges = map; } } -- cgit v1.2.3