public async Task AttachCompletionToAchievements(List <Achievement> achievements)
        {
            if (string.IsNullOrEmpty(SteamID))
            {
                return;
            }

            if (!_cache.TryGetValue(String.Concat(_achievedCacheKey, "_", SteamID), out SteamCommunity.PlayerAchievements playerAchievements))
            {
                SteamClient client = new SteamClient();
                client.Authenticator = APIKeyAuthenticator.ForProtectedResource(Environment.GetEnvironmentVariable("SteamAPIKey"));

                playerAchievements = await SteamCommunity.GetPlayerAchievementsAsync(client, SteamID, 236850);

                _cache.Set(String.Concat(_achievedCacheKey, "_", SteamID), playerAchievements, TimeSpan.FromMinutes(2));
            }

            achievements.ForEach(a => a.Achieved = playerAchievements.Achievements.FirstOrDefault(ac => ac.Name == a.Name)?.IsAchieved ?? false);
        }