summaryrefslogtreecommitdiffstats
path: root/src/Chat.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/Chat.cpp36
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