From 7ed231a499ce93d2fafcbc50e9da7b080af9c395 Mon Sep 17 00:00:00 2001 From: Brandon Smith Date: Tue, 18 Aug 2015 17:50:48 -0300 Subject: [PATCH] Added token login and missing dependency --- src/Discord.Net/DiscordClient.cs | 37 ++++++++++++++++++++++++++++---- src/Discord.Net/project.json | 1 + 2 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/Discord.Net/DiscordClient.cs b/src/Discord.Net/DiscordClient.cs index b491664be..4c7df69df 100644 --- a/src/Discord.Net/DiscordClient.cs +++ b/src/Discord.Net/DiscordClient.cs @@ -5,7 +5,6 @@ using System; using System.Collections.Generic; using System.Linq; using System.Net; -using System.Reflection; using System.Threading; using System.Threading.Tasks; @@ -381,6 +380,13 @@ namespace Discord } break; + //Settings + case "USER_SETTINGS_UPDATE": + { + //TODO: Process this + } + break; + //Others default: RaiseOnDebugMessage("Unknown WebSocket message type: " + e.Type); @@ -508,7 +514,17 @@ namespace Discord } //Auth - public async Task Connect(string email, string password) + public async Task Connect(string token) + { + _isStopping.Reset(); + + Http.Token = token; + await _webSocket.ConnectAsync(Endpoints.WebSocket_Hub, true); + + _isReady = true; + return token; + } + public async Task Connect(string email, string password) { _isStopping.Reset(); @@ -522,8 +538,20 @@ namespace Discord _webSocket.Login(); _isReady = true; - } - public async Task ConnectAnonymous(string username) + return response.Token; + } + public async Task Connect(string email, string password, string token) + { + try + { + return await Connect(token); + } + catch (InvalidOperationException) //Bad Token + { + return await Connect(email, password); + } + } + public async Task ConnectAnonymous(string username) { _isStopping.Reset(); @@ -537,6 +565,7 @@ namespace Discord _webSocket.Login(); _isReady = true; + return response.Token; } public async Task Disconnect() { diff --git a/src/Discord.Net/project.json b/src/Discord.Net/project.json index 37c54d89d..3766a72bf 100644 --- a/src/Discord.Net/project.json +++ b/src/Discord.Net/project.json @@ -24,6 +24,7 @@ "dnxcore50": { "dependencies": { "System.Collections.Concurrent": "4.0.10", + "System.Diagnostics.Debug": "4.0.10", "System.IO.Compression": "4.0.0", "System.Linq": "4.0.0", "System.Net.Requests": "4.0.10",