public async Task Connect() { Console.WriteLine($"Authenticating using token '{this.client.GetToken()}'"); // TODO: Use response var response = await Fetch.GetJsonAsyncAuthorized <GetGatewayBotResponse>(DiscordAPI.BotGateway(), this.client.GetToken()); var convertedResponse = JsonConvert.SerializeObject(response); var connectionUrl = (string)JsonConvert.DeserializeObject <dynamic>(await Fetch.GetAsync(DiscordAPI.Gateway())).url; this.socket = new PureWebSocket(connectionUrl, new PureWebSocketOptions() { }); // Events this.socket.OnMessage += this.WS_OnMessage; this.socket.OnClosed += this.WS_OnClosed; // Connect this.socket.Connect(); // TODO: Debugging Console.WriteLine($"GOT url => {convertedResponse}"); }