RPC's Authorize should not try to authenticate

This commit is contained in:
RogueException
2016-10-10 21:34:45 -03:00
parent d480b2f25b
commit 3fc7b3b206
2 changed files with 27 additions and 19 deletions

View File

@@ -155,13 +155,13 @@ namespace Discord.Commands
var args = GenerateArgs(argList, paramList); var args = GenerateArgs(argList, paramList);
switch (RunMode) switch (RunMode)
{ {
case RunMode.Sync: case RunMode.Sync: //Always sync
await _action(context, args).ConfigureAwait(false); await _action(context, args).ConfigureAwait(false);
break; break;
case RunMode.Mixed: case RunMode.Mixed: //Sync until first await statement
var t1 = _action(context, args); var t1 = _action(context, args);
break; break;
case RunMode.Async: case RunMode.Async: //Always async
var t2 = Task.Run(() => _action(context, args)); var t2 = Task.Run(() => _action(context, args));
break; break;
} }

View File

@@ -385,25 +385,33 @@ namespace Discord.Rpc
//CancellationToken = _cancelToken //TODO: Implement //CancellationToken = _cancelToken //TODO: Implement
}; };
var _ = Task.Run(async () => if (ApiClient.LoginState == LoginState.LoggedIn)
{ {
try var _ = Task.Run(async () =>
{ {
var response = await ApiClient.SendAuthenticateAsync(options).ConfigureAwait(false); try
CurrentUser = RestSelfUser.Create(this, response.User); {
CurrentApplication = RestApplication.Create(this, response.Application); var response = await ApiClient.SendAuthenticateAsync(options).ConfigureAwait(false);
Scopes = response.Scopes; CurrentUser = RestSelfUser.Create(this, response.User);
TokenExpiresAt = response.Expires; CurrentApplication = RestApplication.Create(this, response.Application);
Scopes = response.Scopes;
TokenExpiresAt = response.Expires;
var __ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete var __ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete
await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false); await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false);
} }
catch (Exception ex) catch (Exception ex)
{ {
await _rpcLogger.ErrorAsync($"Error handling {cmd}{(evnt.IsSpecified ? $" ({evnt})" : "")}", ex).ConfigureAwait(false); await _rpcLogger.ErrorAsync($"Error handling {cmd}{(evnt.IsSpecified ? $" ({evnt})" : "")}", ex).ConfigureAwait(false);
return; return;
} }
}); });
}
else
{
var _ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete
await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false);
}
} }
break; break;