diff options
Diffstat (limited to 'src/Chat.cpp')
-rw-r--r-- | src/Chat.cpp | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/Chat.cpp b/src/Chat.cpp new file mode 100644 index 0000000..0857d6c --- /dev/null +++ b/src/Chat.cpp @@ -0,0 +1,36 @@ +#include "Chat.hpp" + +#include <nlohmann/json.hpp> +#include <easylogging++.h> + +Chat::Chat(const std::string &str) { + using nlohmann::json; + json j = json::parse(str); + + /*LOG(WARNING) << j.dump(4); + + std::function<void(json::iterator)> iterating = [&](json::iterator iter) { + json val = *iter; + + if (val.is_object() && val.find("text") != val.end()) { + text.append(val["text"].get<std::string>()); + } + + if (val.is_array() || val.is_object()) { + for (auto it = val.begin(); it != val.end(); ++it) { + iterating(it); + } + } + }; + + for (auto it = j.begin(); it != j.end(); ++it) { + iterating(it); + }*/ + + text = j.dump(4); +} + +std::string Chat::ToJson() const { + throw std::logic_error("Chat not deserealizable"); + return text; +}
\ No newline at end of file |