Beispiel #1
0
        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;
 }
Beispiel #3
0
 // 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;
 }
Beispiel #4
0
        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}.");
                }
            }