-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathStreamlabsAPI.h
41 lines (34 loc) · 1.38 KB
/
StreamlabsAPI.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#include <Arduino.h>
#include <map>
#include <SocketIOclient.h>
#ifdef DEBUG_ESP_PORT
#define DEBUG_STREAMLABS_ALERTS(...) \
{ \
DEBUG_ESP_PORT.printf(__VA_ARGS__); \
DEBUG_ESP_PORT.flush(); \
}
#else
#define DEBUG_STREAMLABS_ALERTS(...)
#endif
#define SL_HOSTNAME "sockets.streamlabs.com"
#define SL_PORT 443
#define SL_DEFAULT_QUERYPARAMETES "/socket.io/?"
#ifndef STREAMLABSAPI_H_
#define STREAMLABSAPI_H_
class StreamlabsAPI {
private:
SocketIOclient webSocket;
std::map<String, std::function<void (const char * payload)>> events;
void event(socketIOmessageType_t type, uint8_t * payload, size_t length);
public:
void loop();
void connect(const char* socketToken);
void followTwitchEvent(std::function<void (const char * payload)> func);
void subscriptionsTwitchEvent(std::function<void (const char * payload)> func);
void resubscriptionsTwitchEvent(std::function<void (const char * payload)> func);
void hostTwitchEvent(std::function<void (const char * payload)> func);
void bitsTwitchEvent(std::function<void (const char * payload)> func);
void raidsTwitchEvent(std::function<void (const char * payload)> func);
void donationEvent(std::function<void (const char * payload)> func);
};
#endif /* STREAMLABSAPI_H_ */