summaryrefslogtreecommitdiff
path: root/bot/src/api/twitch/helix_client.hpp
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2024-05-18 14:48:12 +0500
committerilotterytea <iltsu@alright.party>2024-05-18 14:48:12 +0500
commitd1793df1eda463b10107d41785ad1d7f055ed476 (patch)
treefd3e41c3b4a05924748ae4b762e1ae55a0bc815c /bot/src/api/twitch/helix_client.hpp
parentd7a2de17e9b7931f68b5b4079b1c36866a19d343 (diff)
upd: moved the bot part to a relative subfolder
Diffstat (limited to 'bot/src/api/twitch/helix_client.hpp')
-rw-r--r--bot/src/api/twitch/helix_client.hpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/bot/src/api/twitch/helix_client.hpp b/bot/src/api/twitch/helix_client.hpp
new file mode 100644
index 0000000..27a9fa3
--- /dev/null
+++ b/bot/src/api/twitch/helix_client.hpp
@@ -0,0 +1,31 @@
+#pragma once
+
+#include <string>
+#include <vector>
+
+#include "schemas/stream.hpp"
+#include "schemas/user.hpp"
+
+namespace bot::api::twitch {
+ class HelixClient {
+ public:
+ HelixClient(const std::string &token, const std::string &client_id);
+ ~HelixClient() = default;
+
+ std::vector<schemas::User> get_users(
+ const std::vector<std::string> &logins) const;
+ std::vector<schemas::User> get_users(const std::vector<int> &ids) const;
+
+ std::vector<schemas::User> get_chatters(const int &broadcaster_id,
+ const int &moderator_id) const;
+
+ std::vector<schemas::Stream> get_streams(
+ const std::vector<int> &ids) const;
+
+ private:
+ std::vector<schemas::User> get_users_by_query(
+ const std::string &query) const;
+ std::string token, client_id;
+ const std::string base_url = "https://api.twitch.tv/helix";
+ };
+}