From a32954453b69488c29d53a26add1b93e33924d3d Mon Sep 17 00:00:00 2001 From: fluttershy Date: Sun, 26 Jan 2025 17:34:10 +0500 Subject: [PATCH] fixes --- include/net.hpp | 4 ++-- libs/gateway/{Websocket.hpp => websocket.hpp} | 12 ++++++++---- libs/network/{Network.hpp => network.hpp} | 2 +- libs/utils/enums.hpp | 14 ++++++++++++++ sources/main.cpp | 5 +---- 5 files changed, 26 insertions(+), 11 deletions(-) rename libs/gateway/{Websocket.hpp => websocket.hpp} (92%) rename libs/network/{Network.hpp => network.hpp} (98%) diff --git a/include/net.hpp b/include/net.hpp index 127e0d0..ec6c3e2 100644 --- a/include/net.hpp +++ b/include/net.hpp @@ -1,5 +1,5 @@ #ifndef INCLUDE_NET_HPP_ #define INCLUDE_NET_HPP_ -#include -#include +#include +#include #endif \ No newline at end of file diff --git a/libs/gateway/Websocket.hpp b/libs/gateway/websocket.hpp similarity index 92% rename from libs/gateway/Websocket.hpp rename to libs/gateway/websocket.hpp index 74883c1..fbaa747 100644 --- a/libs/gateway/Websocket.hpp +++ b/libs/gateway/websocket.hpp @@ -6,7 +6,7 @@ class EventEmitter { private: using eventHandlers = std::function; - std::unordered_map> handlers; + std::unordered_map> handlers; protected: void emit(const std::string& event, const nlohmann::json& data) { if (handlers.find(event) != handlers.end()) { @@ -80,8 +80,8 @@ private: case ix::WebSocketMessageType::Message: res = nlohmann::json::parse(msg->str); Log::create(INFO, WEBSOCKET, res["op"].dump() + " " + res["t"].dump()); - switch (res["op"].get()) { - case 10: + switch (res["op"].get()) { + case GatewayOpcodes::Hello: heartbeat_interval = res["d"]["heartbeat_interval"].get(); !connected ? connected = true, webSocket.send(id.dump()) : 0; std::thread([this, &heartbeat_interval, &connected]() { @@ -92,7 +92,11 @@ private: } }).detach(); break; - case 0: emit(res["t"].get(), res); break; + case GatewayOpcodes::Dispatch: + emit(res["t"].get(), res); + break; + default: + break; } break; case ix::WebSocketMessageType::Error: diff --git a/libs/network/Network.hpp b/libs/network/network.hpp similarity index 98% rename from libs/network/Network.hpp rename to libs/network/network.hpp index a9bc59b..ce5945a 100644 --- a/libs/network/Network.hpp +++ b/libs/network/network.hpp @@ -1,7 +1,7 @@ #ifndef TLS_NETWORK_HPP_ #define TLS_NETWORK_HPP_ #include -#include +#include #include class NetworkManager { private: diff --git a/libs/utils/enums.hpp b/libs/utils/enums.hpp index 95e95d4..303b02e 100644 --- a/libs/utils/enums.hpp +++ b/libs/utils/enums.hpp @@ -140,4 +140,18 @@ enum UserStatus { enum DiscordTime { Epoch = 1420070400000, }; +enum GatewayOpcodes { + Dispatch, + Heartbeat, + Identify, + PresenceUpdate, + VoiceStateUpdate, + Resume = 6, + Reconnect, + RequestGuildMembers, + InvalidSession, + Hello, + HeartbeatACK, + RequestSoundboardSounds = 31, +}; #endif \ No newline at end of file diff --git a/sources/main.cpp b/sources/main.cpp index cc39ae9..0b854d1 100644 --- a/sources/main.cpp +++ b/sources/main.cpp @@ -39,10 +39,7 @@ int main(int argc, char* argv[]) { message->send("939957962972229634", message->pack("content", author->channel_id)); } }); - bot->on(GatewayEvents::MESSAGE_REACTION_ADD, [](const Discord& msg) { - const auto& [message] = msg.ctx(); - message->send("939957962972229634", message->pack("content", "test")); - }); + bot->start(); return 0; } \ No newline at end of file