public async Task <ActionModel> DoLogin(HttpClientHandler httpClient = null) { ActionModel dataAction = new ActionModel { Type = "Login", Username = userSession.UserName, Status = 0 }; try { IInstaApiBuilder instaApiBuild = InstaApiBuilder.CreateBuilder() .SetUser(userSession) .UseLogger(new DebugLogger(LogLevel.Exceptions)); if (httpClient != null) { instaApiBuild = instaApiBuild.UseHttpClientHandler(httpClient); } HelpersApi.InstaApi = instaApiBuild.Build(); var loginResult = await HelpersApi.InstaApi.LoginAsync(); if (loginResult.Succeeded) { dataAction.Status = 1; dataAction.Response = $"[+] {dataAction.Type} | Status: Success | Username: {userSession.UserName}"; } else { switch (loginResult.Value) { case InstaLoginResult.InvalidUser: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: Username is invalid."; break; case InstaLoginResult.BadPassword: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: Password is wrong."; break; case InstaLoginResult.Exception: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: {loginResult.Info.Message}"; break; case InstaLoginResult.LimitError: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: Limit error (you should wait 10 minutes)."; break; case InstaLoginResult.ChallengeRequired: dataAction.Status = 2; dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: Challenge Required."; HandleChallenge(); break; case InstaLoginResult.TwoFactorRequired: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: Factor Required. Disabled it first!"; break; case InstaLoginResult.InactiveUser: dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: {loginResult.Info.Message}"; break; } } } catch (Exception ex) { dataAction.Response = $"[+] {dataAction.Type} | Status: Failed | Error: {ex.Message}"; } return(dataAction); }
public IApiWrapper CreateApi() { var instagramApi = instaApiBuilder.Build(); return(new ApiWrapper(instagramApi, mapper)); }