public DestinyService(IServiceProvider services) { // Create new BungieClient bungieClient = new BungieClient(apiKey: new BungieApiKey(Environment.GetEnvironmentVariable("NFLBOT_BUNGIETOKEN"))); // Set Season Date currentSeasonStart = Convert.ToDateTime("10.01.2019", CultureInfo.InvariantCulture); }
static void Main(string[] args) { _bungieClient = new BungieClient((settings) => { settings.IncludeApiKey(args[0]); settings.SetDefinitionsLoadingBehaviour( saveToAppMemory: true, tryDownloadMissingDefinitions: true, preferredSource: DefinitionSources.SQLite, retryDownloading: false, DestinyLocales.EN); settings.UsePreloadedData("H:\\BungieNetCoreAPIRepository\\Manifests"); settings.UseVersionControl( keepOldVersions: true, checkUpdates: false, repositoryPath: string.Empty); settings.EnableLogging(); settings.PremapPointers(); settings.IncludeClientIdAndSecret(clientId: int.Parse(args[1]), clientSecret: args[2]); settings.EnableTokenRenewal(refreshRate: 30000); }); var link = BungieClient.Platform.GetAuthorizationLink(); Console.WriteLine(link); Console.Write("State: "); var state = Console.ReadLine(); Console.WriteLine(); Console.Write("Code: "); var code = Console.ReadLine(); Console.WriteLine(); BungieClient.Platform.ReceiveCode(state, code); BungieClient.Platform.GetAuthorizationToken(code).GetAwaiter().GetResult(); _bungieClient.LogListener.OnNewMessage += (mes) => Console.WriteLine(mes); MainAsync().GetAwaiter().GetResult(); }
public BungieService(IServiceProvider services) { _client = new BungieClient( new BungieClientSettings() { UseExistingConfig = true, ExistingConfigPath = "BungieConfig.json" }); //Client = new BungieClient( // apiKey: Core.Configuration.GetSection("BungieAPI:ClientKey").Value, // settings: new BungieClientSettings() // { // UseGlobalCache = true, // PathToLocalDb = @"H:\BungieNetCoreAPIRepository\ManifestDB_14.12.2020", // Locales = new string[] { "en", "ru" } // }); }
void IModule.Install(ModuleManager manager) { _manager = manager; _client = manager.Client; try { _bungie = new BungieClient(GlobalSettings.Bungie.ApiKey); } catch { Console.WriteLine("Couldn't create client for Bungie API. Did you forget to provide an API key?"); return; } manager.CreateCommands(String.Empty, group => { group.CreateGroup("destiny", g => { g.CreateCommand("search") .Description("Searches for and returns a given Gamertag or PSN ID's Destiny Membership ID.") .Parameter("platform") .Parameter("displayName") .Do(SearchDestinyPlayer); g.CreateCommand("characters") .Alias(new string[] { "chars", "overview" }) .Description("Shows an overview of a given player's Destiny characters and some other info.") .Parameter("platform") .Parameter("displayName") .Do(CharacterOverview); g.CreateCommand("activity") .Description("Shows a player's 3 latest activities.") .Parameter("platform") .Parameter("displayName") .Do(LatestActivities); g.CreateCommand("pgcr") .Description("Fetches and shows the Post Game Carnage Report for a given Instance ID.") .Parameter("instance ID") .Do(PostGameCarnageReport); }); }); }
public HomeController() { _BungieClient = new BungieClient(); }
public static void Main(string[] args) { string[] contentIds; var config = Newtonsoft.Json.JsonConvert.DeserializeObject<Config>(File.ReadAllText("config.json")); using (var cli = new BungieClient(config.BungieApiKey)) { contentIds = cli.GetAllNews("Destiny", "en").Result .Where(x => x.properties.Title.StartsWith("Bungie Weekly Update")) .Select(x => x.contentId) .ToArray(); } var reddit = new Reddit(); var me = reddit.LogIn(config.RedditUser, config.RedditPassword); using (var outStream = File.OpenWrite("results.csv")) { using (var writer = new StreamWriter(outStream)) { foreach (var aid in contentIds) { var misses = 0; foreach (var post in reddit.Search<Post>($"selftext:aid={aid} self:yes subreddit:DestinyTheGame", sortE: Sorting.Top)) { Console.Write("."); if (++misses == 10) return; try { if (!post.IsSelfPost || (post.Title.IndexOf("Bungie Weekly Update", StringComparison.OrdinalIgnoreCase) == -1 && post.Title.IndexOf("Destiny Update", StringComparison.OrdinalIgnoreCase) == -1)) continue; } catch (WebException ex) when ((ex.Response as HttpWebResponse)?.StatusCode == HttpStatusCode.NotFound) { continue; } var scores = new List<double>(); foreach (var comment in post.GetCommentsRecursive()) { if (string.IsNullOrEmpty(comment.Body)) continue; scores.Add(i4Ds.LanguageToolkit.SentimentAnalyzer.GetSentiment("en", comment.Body)); } var line = string.Format("{0:yyyy/MM/dd},{1}", post.CreatedUTC, scores.Average()); writer.WriteLine(line); Console.WriteLine(); Console.WriteLine(line); break; } } } } }