Ejemplo n.º 1
0
        private static void OnPICSTokens(SteamApps.PICSTokensCallback callback)
        {
            JobManager.TryRemoveJob(callback.JobID);

            Log.WriteDebug("PICSTokens", "Tokens granted: {0} - Tokens denied: {1}", callback.AppTokens.Count, callback.AppTokensDenied.Count);

            var apps = callback.AppTokensDenied
                       .Select(Utils.NewPICSRequest)
                       .Concat(callback.AppTokens.Select(app => Utils.NewPICSRequest(app.Key, app.Value)));

            JobManager.AddJob(() => Steam.Instance.Apps.PICSGetProductInfo(apps, Enumerable.Empty <SteamApps.PICSRequest>()));
        }
Ejemplo n.º 2
0
        private static void OnPICSTokens(SteamApps.PICSTokensCallback callback)
        {
            JobManager.TryRemoveJob(callback.JobID, out var job);

            if (callback.AppTokens.Count > 0 || callback.AppTokensDenied.Count > 0)
            {
                Log.WriteInfo(nameof(PICSTokens), $"App tokens: {callback.AppTokens.Count} received, {callback.AppTokensDenied.Count} denied");
            }
            else
            {
                Log.WriteInfo(nameof(PICSTokens), $"Package tokens: {callback.PackageTokens.Count} received, {callback.PackageTokensDenied.Count} denied");
            }

            var apps = callback.AppTokensDenied
                       .Select(NewAppRequest)
                       .Concat(callback.AppTokens.Select(app => NewAppRequest(app.Key, app.Value)))
                       .ToList();

            var subs = callback.PackageTokensDenied
                       .Select(NewPackageRequest)
                       .Concat(callback.PackageTokens.Select(sub => NewPackageRequest(sub.Key, sub.Value)))
                       .ToList();

            if (job?.Metadata != default)
            {
                var requested = (RequestedTokens)job.Metadata;

                if (requested.Apps != null)
                {
                    foreach (var appid in requested.Apps.Where(app =>
                                                               !callback.AppTokens.ContainsKey(app) && !callback.AppTokensDenied.Contains(app)))
                    {
                        Log.WriteError(nameof(PICSTokens), $"Requested token for app {appid} but Steam did not return it");
                        IRC.Instance.SendOps($"[TOKENS] Requested token for app {appid} but Steam did not return it");

                        apps.Add(NewAppRequest(appid));
                    }
                }

                if (requested.Packages != null)
                {
                    foreach (var subid in requested.Packages.Where(sub =>
                                                                   !callback.PackageTokens.ContainsKey(sub) && !callback.PackageTokensDenied.Contains(sub)))
                    {
                        Log.WriteError(nameof(PICSTokens), $"Requested token for package {subid} but Steam did not return it");

                        subs.Add(NewPackageRequest(subid));
                    }
                }
            }

            JobManager.AddJob(() => Steam.Instance.Apps.PICSGetProductInfo(apps, subs));
        }
Ejemplo n.º 3
0
        private static void OnPICSTokens(SteamApps.PICSTokensCallback callback)
        {
            Log.WriteDebug("SteamAnonymous", $"Tokens granted: {callback.AppTokens.Count} - Tokens denied: {callback.AppTokensDenied.Count}");

            foreach (var(appID, token) in callback.AppTokens)
            {
                if (token > 0 && PICSTokens.HandleToken(appID, token))
                {
                    // If we actually get a valid token, request fresh app info with main Steam instance
                    JobManager.AddJob(() => Steam.Instance.Apps.PICSGetAccessTokens(appID, null));
                }
            }
        }
        private static void OnPICSTokens(SteamApps.PICSTokensCallback callback)
        {
            JobManager.TryRemoveJob(callback.JobID);

            Log.WriteDebug(nameof(PICSTokens), $"App tokens: {callback.AppTokens.Count} ({callback.AppTokensDenied.Count} denied) - Package tokens: {callback.PackageTokens.Count} ({callback.PackageTokensDenied.Count} denied)");

            var apps = callback.AppTokensDenied
                       .Select(NewAppRequest)
                       .Concat(callback.AppTokens.Select(app => NewAppRequest(app.Key, app.Value)));

            var subs = callback.PackageTokensDenied
                       .Select(NewPackageRequest)
                       .Concat(callback.PackageTokens.Select(sub => NewPackageRequest(sub.Key, sub.Value)));

            JobManager.AddJob(() => Steam.Instance.Apps.PICSGetProductInfo(apps, subs));
        }
Ejemplo n.º 5
0
        private void OnPICSTokens(SteamApps.PICSTokensCallback callback, JobID jobID)
        {
            Log.WriteDebug("Steam", "Tokens granted: {0} - Tokens denied: {1}", callback.AppTokens.Count, callback.AppTokensDenied.Count);

            var apps = callback.AppTokensDenied
                       .Select(app => NewPICSRequest(app))
                       .Concat(callback.AppTokens.Select(app => NewPICSRequest(app.Key, app.Value)));

            var request = SteamProxy.Instance.IRCRequests.Find(r => r.JobID == jobID);

            if (request != null)
            {
                request.JobID = Apps.PICSGetProductInfo(apps, Enumerable.Empty <SteamApps.PICSRequest>());

                return;
            }

            Apps.PICSGetProductInfo(apps, Enumerable.Empty <SteamApps.PICSRequest>());
        }
Ejemplo n.º 6
0
        private static void OnPICSTokens(SteamApps.PICSTokensCallback callback)
        {
            Log.WriteDebug("Steam", "Tokens granted: {0} - Tokens denied: {1}", callback.AppTokens.Count, callback.AppTokensDenied.Count);

            var apps = callback.AppTokensDenied
                       .Select(app => Utils.NewPICSRequest(app))
                       .Concat(callback.AppTokens.Select(app => Utils.NewPICSRequest(app.Key, app.Value)));

            Func <JobID> func = () => Steam.Instance.Apps.PICSGetProductInfo(apps, Enumerable.Empty <SteamApps.PICSRequest>());

            JobAction job;

            // We have to preserve CommandRequest between jobs
            if (JobManager.TryRemoveJob(callback.JobID, out job) && job.IsCommand)
            {
                JobManager.AddJob(func, job.CommandRequest);

                return;
            }

            JobManager.AddJob(func);
        }