Exemplo n.º 1
0
        public async Task <NexusApiClient> GetClient()
        {
            var keys = await _sql.GetNexusApiKeysWithCounts(1500);

            foreach (var key in keys.Where(k => k.Key != _selfKey))
            {
                try
                {
                    var client = new TrackingClient(_sql, key);
                    if (await client.IsPremium())
                    {
                        return(client);
                    }

                    _logger.LogWarning($"Purging non premium key");
                    await _sql.DeleteNexusAPIKey(key.Key);

                    continue;
                }
                catch (Exception ex)
                {
                    Utils.Log($"Error getting tracking client: {ex}");
                }
            }

            var bclient = await NexusApiClient.Get();

            await bclient.GetUserStatus();

            return(bclient);
        }
Exemplo n.º 2
0
        public async Task <NexusApiClient> GetClient()
        {
            var keys = await _sql.GetNexusApiKeysWithCounts(1500);

            foreach (var key in keys.Where(k => k.Key != _selfKey))
            {
                var client = new TrackingClient(_sql, key);
                if (!await client.IsPremium())
                {
                    _logger.LogWarning($"Purging non premium key");
                    await _sql.DeleteNexusAPIKey(key.Key);

                    continue;
                }

                return(client);
            }

            return(await NexusApiClient.Get());
        }