Browse Source

RPC's Authorize should not try to authenticate

pull/308/head
RogueException 8 years ago
parent
commit
3fc7b3b206
2 changed files with 28 additions and 20 deletions
  1. +3
    -3
      src/Discord.Net.Commands/CommandInfo.cs
  2. +25
    -17
      src/Discord.Net.Rpc/DiscordRpcClient.cs

+ 3
- 3
src/Discord.Net.Commands/CommandInfo.cs View File

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


+ 25
- 17
src/Discord.Net.Rpc/DiscordRpcClient.cs View File

@@ -385,25 +385,33 @@ namespace Discord.Rpc
//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);
CurrentUser = RestSelfUser.Create(this, response.User);
CurrentApplication = RestApplication.Create(this, response.Application);
Scopes = response.Scopes;
TokenExpiresAt = response.Expires;

var __ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete
await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false);
}
catch (Exception ex)
{
await _rpcLogger.ErrorAsync($"Error handling {cmd}{(evnt.IsSpecified ? $" ({evnt})" : "")}", ex).ConfigureAwait(false);
return;
}
});
try
{
var response = await ApiClient.SendAuthenticateAsync(options).ConfigureAwait(false);
CurrentUser = RestSelfUser.Create(this, response.User);
CurrentApplication = RestApplication.Create(this, response.Application);
Scopes = response.Scopes;
TokenExpiresAt = response.Expires;

var __ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete
await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false);
}
catch (Exception ex)
{
await _rpcLogger.ErrorAsync($"Error handling {cmd}{(evnt.IsSpecified ? $" ({evnt})" : "")}", ex).ConfigureAwait(false);
return;
}
});
}
else
{
var _ = _connectTask.TrySetResultAsync(true); //Signal the .Connect() call to complete
await _rpcLogger.InfoAsync("Ready").ConfigureAwait(false);
}
}
break;



Loading…
Cancel
Save