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>())); }
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)); }
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)); }
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>()); }
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); }