From b978dd998f3c4d4176dd72420913dd901de35214 Mon Sep 17 00:00:00 2001 From: fluttershy Date: Sat, 25 Jan 2025 14:21:16 +0500 Subject: [PATCH] fixes --- CMakeLists.txt | 1 + libs/gateway/Websocket.hpp | 16 +++++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8a642ae..366d91d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,6 +4,7 @@ project(sparkle) include(GoogleTest) +set(CMAKE_EXPORT_COMPILE_COMMANDS ON) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED True) set(SOURCE sources/main.cpp) diff --git a/libs/gateway/Websocket.hpp b/libs/gateway/Websocket.hpp index 84c235f..e5df68e 100644 --- a/libs/gateway/Websocket.hpp +++ b/libs/gateway/Websocket.hpp @@ -4,8 +4,6 @@ #include #include #include -using namespace std::chrono; -using namespace std::chrono_literals; class WebSocket { private: bool isBot; @@ -15,8 +13,10 @@ private: nlohmann::json payload = { {"op", 1},{"d", nullptr} }, id; std::unordered_map> eventHandlers; WebSocket& operator=(const WebSocket&) = delete; + WebSocket& operator=(WebSocket&&) = delete; + WebSocket(WebSocket&&) = delete; WebSocket(const WebSocket&) = delete; - WebSocket(const std::string& token, const int& intents, const bool& isBot) { + explicit WebSocket(const std::string& token, const int& intents, const bool& isBot) { WebSocket::token = token; WebSocket::intents = intents; WebSocket::isBot = isBot; @@ -59,7 +59,7 @@ private: std::thread([this, &heartbeat_interval, &connected]() { while (connected && heartbeat_interval != -1) { Log::create(INFO, WEBSOCKET, "Heartbeat " + std::to_string(heartbeat_interval)); - std::this_thread::sleep_for(milliseconds(heartbeat_interval)); + std::this_thread::sleep_for(std::chrono::milliseconds(heartbeat_interval)); webSocket.send(payload.dump()); } }).detach(); @@ -104,11 +104,9 @@ public: int getIntents() const { return WebSocket::intents; } - void on(const std::string& event, std::function handler = nullptr) { + void on(const std::string& event, std::function handler) { eventHandlers[event] = [handler](const nlohmann::json& message) { - if (handler) { - handler(message.get()); - } + handler(message.get()); }; } void once(const std::string& event, std::function handler) { @@ -117,7 +115,7 @@ public: }; } void start() { - while (1) std::this_thread::sleep_for(1ms); + while (1) std::this_thread::sleep_for(std::chrono::milliseconds(1)); } }; #endif \ No newline at end of file