public async Task GetRunsUser(string game, string username) { var requester = new RequestHandler(); var message = await ReplyAsync("Gathering Data..."); try { var user = requester.GetUser(username).data; var runs = requester.GetRunsPerUserPerGame(user.id, game); var builder = Builders.BaseBuilder(user.names["international"], "Runs done in game " + runs[0].game.data.names["international"], Color.Blue, null, runs[0].game.data.assets["icon"].uri); string runText = ""; foreach (var run in runs) { if (run.level?.data == null) { runText += $"**{run.category.data.name} {PlaceConverter.Ordinal(run.place)} place:** {ConvertToTime(run.run.times.primary)}\n"; } else { runText += $"**(IL) {run.level.data.name} {PlaceConverter.Ordinal(run.place)} place:** {ConvertToTime(run.run.times.primary)}\n"; } } builder.AddInlineField("Runs", runText); await message.DeleteAsync(); await ReplyAsync("", embed : builder.Build()); } catch { await message.DeleteAsync(); await ReplyAsync("User or Game not found"); } }
public async Task GetUserData([Remainder] string name) { var message = await ReplyAsync("Gathering data..."); try { var user = new RequestHandler().GetUser(name).data; var builder = Builders.BaseBuilder(user.names["international"], "", Color.Blue, null, null); builder.AddInlineField("Information", $"**Name:** {user.names["international"]}\n" + $"**Country:** {user.location.country.names["international"]}"); string links = ""; if (user.twitch != null) { links += user.twitch.uri + "\n"; } if (user.twitter != null) { links += user.twitter.uri + "\n"; } if (user.hitbox != null) { links += user.hitbox + "\n"; } if (user.speedrunslive != null) { links += user.speedrunslive.uri + "\n"; } if (user.youtube != null) { links += user.youtube.uri + "\n"; } if (!string.IsNullOrEmpty(links)) { builder.AddInlineField("Links", links); } builder.WithUrl(user.weblink); var wrRuns = new RequestHandler().GetWorldRecordsPerUser(user.id).OrderBy(x => x.game.data.names["international"]).ToList(); string worldrecords = ""; for (int i = 0; i < wrRuns.Count; i++) { if (wrRuns[i].level?.data == null) { worldrecords += $"**{wrRuns[i].game.data.names["international"]} {wrRuns[i].category.data.name}: **{ConvertToTime(wrRuns[i].run.times.primary)}\n"; } else { worldrecords += $"**{wrRuns[i].game.data.names["international"]} (IL) {wrRuns[i].level.data.name}: **{ConvertToTime(wrRuns[i].run.times.primary)}\n"; } } if (!string.IsNullOrEmpty(worldrecords)) { builder.AddInlineField("World Records", worldrecords); } var recentRuns = new RequestHandler().GetLatestRunsPerUser(user.id); string runs = ""; for (int i = 0; i < 10; i++) { if (recentRuns[i].level?.data == null) { runs += $"**{recentRuns[i].game.data.names["international"]} {recentRuns[i].category.data.name} {PlaceConverter.Ordinal(recentRuns[i].place)} place:** " + $"{/*recentRuns[i].run.times.primary.Replace("PT", "").Replace("H", ":").Replace("M", ":").Replace("S", "")*/ ConvertToTime(recentRuns[i].run.times.primary)}\n"; } else { runs += $"**{recentRuns[i].game.data.names["international"]} (IL) {recentRuns[i].level.data.name} {PlaceConverter.Ordinal(recentRuns[i].place)} place:** {ConvertToTime(recentRuns[i].run.times.primary)}\n"; } } if (!string.IsNullOrEmpty(runs)) { builder.AddInlineField("Recent PBs", runs); } await message.DeleteAsync(); await ReplyAsync("", embed : builder.Build()); } catch { await message.DeleteAsync(); await ReplyAsync("User not found"); } }