summaryrefslogtreecommitdiff
path: root/include/emotespp/seventv.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/emotespp/seventv.hpp')
-rw-r--r--include/emotespp/seventv.hpp25
1 files changed, 23 insertions, 2 deletions
diff --git a/include/emotespp/seventv.hpp b/include/emotespp/seventv.hpp
index 8a4149d..cce8ae7 100644
--- a/include/emotespp/seventv.hpp
+++ b/include/emotespp/seventv.hpp
@@ -1,7 +1,28 @@
#pragma once
+#include <nlohmann/json.hpp>
+#include <string>
+#include <vector>
+
+#include "emotespp/emotes.hpp"
+#include "ixwebsocket/IXWebSocket.h"
+
namespace emotespp {
- class SevenTVEmoteListener {
- SevenTVEmoteListener();
+ class SevenTVWebsocketClient : public RetrieveEmoteWebsocket<Emote> {
+ public:
+ SevenTVWebsocketClient();
+
+ void subscribe_emote_set(const std::string &emote_set_id);
+ void unsubscribe_emote_set(const std::string &emote_set_id);
+
+ void start();
+
+ private:
+ Emote create_emote(const nlohmann::json &data);
+
+ std::vector<std::string> ids;
+ ix::WebSocket websocket;
+
+ bool is_connected = false;
};
} \ No newline at end of file