private void Login() { try { var email = Variables.EA_EMAIL; var password = Variables.EA_PASSWORD; // Get authentication token var auth = new Auth(_authCodeService); var loginType = auth.Login(email, password); // Create companion client var companion = new CompanionClient(auth); if (companion.Login(out var responseStatus)) { _companionClient = companion; LogMessage($"Logged in to: {auth.GetEmail} with {loginType}", LogType.Information); } else { LogMessage($"{responseStatus?.Status}: Login failed - {responseStatus?.Message}", LogType.Error); } } catch (Exception e) { LogMessage(e.ToString(), LogType.Error); } }
public DetailedStatsModule(CommandService service, IConfigurationRoot config, Auth auth, CompanionClient companionClient, PersonaService personaService) { _service = service; _config = config; _auth = auth; _companionClient = companionClient; _personaService = personaService; }
// DiscordSocketClient, CommandService, and IConfigurationRoot are injected automatically from the IServiceProvider public StartupService( DiscordSocketClient discord, CommandService commands, IConfigurationRoot config, Auth auth, CompanionClient companionClient) { _config = config; _discord = discord; _commands = commands; _auth = auth; _companionClient = companionClient; }
static void Main(string[] args) { var settings = new ConfigurationBuilder <ICompanionConfig>() #if DEBUG .UseJsonFile("config.dev.json") #else .UseJsonFile("config.json") #endif .Build(); try { // Get authentication token var auth = new Auth(new Shared.Services.AuthCodeService("authcodes.json")); auth.Login(settings.Email, settings.Password); // Search persona if (auth.SearchPersonaId(settings.PersonaName, out var user, out var status)) { // Login and retrieve session token var companion = new CompanionClient(auth); if (companion.Login(out var responseStatus)) { // Get detailed stats if (companion.GetDetailedStats(settings.Game, user.PersonaId, out var output)) { Console.WriteLine($@"Player: {user.EAID} ({user.PersonaId}) StatsType: {output.Model.DetailedStatType} TimePlayed: {output.Model.BasicStats.TimePlayed} Wins: {output.Model.BasicStats.Wins} Losses: {output.Model.BasicStats.Losses} Kills: {output.Model.BasicStats.Kills} Deaths: {output.Model.BasicStats.Deaths} Kpm: {output.Model.BasicStats.KPM} Spm: {output.Model.BasicStats.SPM} Skill: {output.Model.BasicStats.Skill}"); } else { Console.WriteLine($"{output.Response.Status}: Stats retrieval failed - {output.Response.Message}"); } } else { Console.WriteLine($"{responseStatus.Status}: Login failed - {responseStatus.Message}"); } } else { Console.WriteLine($"Error: PersonaId search failed for {settings.PersonaName} because {status}."); } }