summaryrefslogtreecommitdiff
path: root/src/api/twitch/helix_client.hpp
blob: fedec7f908f99b6df7c4e315dbd45086eb0a8c9b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#pragma once

#include <string>
#include <vector>

#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;

    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";
  };
}