forked from rcxpony/sparkle
fixes
This commit is contained in:
parent
99cf38cf12
commit
a32954453b
@ -1,5 +1,5 @@
|
|||||||
#ifndef INCLUDE_NET_HPP_
|
#ifndef INCLUDE_NET_HPP_
|
||||||
#define INCLUDE_NET_HPP_
|
#define INCLUDE_NET_HPP_
|
||||||
#include <gateway/Websocket.hpp>
|
#include <gateway/websocket.hpp>
|
||||||
#include <network/Network.hpp>
|
#include <network/network.hpp>
|
||||||
#endif
|
#endif
|
@ -6,7 +6,7 @@
|
|||||||
class EventEmitter {
|
class EventEmitter {
|
||||||
private:
|
private:
|
||||||
using eventHandlers = std::function<void(const nlohmann::json&)>;
|
using eventHandlers = std::function<void(const nlohmann::json&)>;
|
||||||
std::unordered_map<std::string, std::list<eventHandlers>> handlers;
|
std::unordered_map<std::string, std::vector<eventHandlers>> handlers;
|
||||||
protected:
|
protected:
|
||||||
void emit(const std::string& event, const nlohmann::json& data) {
|
void emit(const std::string& event, const nlohmann::json& data) {
|
||||||
if (handlers.find(event) != handlers.end()) {
|
if (handlers.find(event) != handlers.end()) {
|
||||||
@ -80,8 +80,8 @@ private:
|
|||||||
case ix::WebSocketMessageType::Message:
|
case ix::WebSocketMessageType::Message:
|
||||||
res = nlohmann::json::parse(msg->str);
|
res = nlohmann::json::parse(msg->str);
|
||||||
Log::create(INFO, WEBSOCKET, res["op"].dump() + " " + res["t"].dump());
|
Log::create(INFO, WEBSOCKET, res["op"].dump() + " " + res["t"].dump());
|
||||||
switch (res["op"].get<int>()) {
|
switch (res["op"].get<GatewayOpcodes>()) {
|
||||||
case 10:
|
case GatewayOpcodes::Hello:
|
||||||
heartbeat_interval = res["d"]["heartbeat_interval"].get<int>();
|
heartbeat_interval = res["d"]["heartbeat_interval"].get<int>();
|
||||||
!connected ? connected = true, webSocket.send(id.dump()) : 0;
|
!connected ? connected = true, webSocket.send(id.dump()) : 0;
|
||||||
std::thread([this, &heartbeat_interval, &connected]() {
|
std::thread([this, &heartbeat_interval, &connected]() {
|
||||||
@ -92,7 +92,11 @@ private:
|
|||||||
}
|
}
|
||||||
}).detach();
|
}).detach();
|
||||||
break;
|
break;
|
||||||
case 0: emit(res["t"].get<std::string>(), res); break;
|
case GatewayOpcodes::Dispatch:
|
||||||
|
emit(res["t"].get<std::string>(), res);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ix::WebSocketMessageType::Error:
|
case ix::WebSocketMessageType::Error:
|
@ -1,7 +1,7 @@
|
|||||||
#ifndef TLS_NETWORK_HPP_
|
#ifndef TLS_NETWORK_HPP_
|
||||||
#define TLS_NETWORK_HPP_
|
#define TLS_NETWORK_HPP_
|
||||||
#include <includes.hpp>
|
#include <includes.hpp>
|
||||||
#include <gateway/Websocket.hpp>
|
#include <gateway/websocket.hpp>
|
||||||
#include <curl/curl.h>
|
#include <curl/curl.h>
|
||||||
class NetworkManager {
|
class NetworkManager {
|
||||||
private:
|
private:
|
@ -140,4 +140,18 @@ enum UserStatus {
|
|||||||
enum DiscordTime {
|
enum DiscordTime {
|
||||||
Epoch = 1420070400000,
|
Epoch = 1420070400000,
|
||||||
};
|
};
|
||||||
|
enum GatewayOpcodes {
|
||||||
|
Dispatch,
|
||||||
|
Heartbeat,
|
||||||
|
Identify,
|
||||||
|
PresenceUpdate,
|
||||||
|
VoiceStateUpdate,
|
||||||
|
Resume = 6,
|
||||||
|
Reconnect,
|
||||||
|
RequestGuildMembers,
|
||||||
|
InvalidSession,
|
||||||
|
Hello,
|
||||||
|
HeartbeatACK,
|
||||||
|
RequestSoundboardSounds = 31,
|
||||||
|
};
|
||||||
#endif
|
#endif
|
@ -39,10 +39,7 @@ int main(int argc, char* argv[]) {
|
|||||||
message->send("939957962972229634", message->pack("content", author->channel_id));
|
message->send("939957962972229634", message->pack("content", author->channel_id));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
bot->on(GatewayEvents::MESSAGE_REACTION_ADD, [](const Discord<Message>& msg) {
|
|
||||||
const auto& [message] = msg.ctx();
|
|
||||||
message->send("939957962972229634", message->pack("content", "test"));
|
|
||||||
});
|
|
||||||
bot->start();
|
bot->start();
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user