예제 #1
0
        public static void MainMethod(int ThreadIndex, ListView MyList, string CheckType)
        {
            switch (CheckType)
            {
            case "Twitter":
                for (var i = ThreadStart[ThreadIndex - 1]; i < ThreadEnd[ThreadIndex - 1]; i++)
                {
                    var isExisting = Twitter.Exists(Usernames[i]);
                    if (!isExisting)
                    {
                        AddAvailable(Usernames[i], MyList);
                    }
                }
                break;

            case "Instagram":
                for (var i = ThreadStart[ThreadIndex - 1]; i < ThreadEnd[ThreadIndex - 1]; i++)
                {
                    var isExisting = Instagram.Exists(Usernames[i]);
                    if (!isExisting)
                    {
                        AddAvailable(Usernames[i], MyList);
                    }
                }
                break;
            }
        }
예제 #2
0
        async Task SetOtherAccountAsync()
        {
            Contect.SetImageResource(Resource.Drawable.contect);
            Contect.Visibility = ViewStates.Visible;
            await Task.Delay(500);

            aboutslinkapp.Text = "Even your favourite social media accounts";
            aboutslinkapp.StartAnimation(fadeouttext);
            await Task.Delay(1500);

            //adding social accounts
            Facebook.SetImageResource(Resource.Drawable.facebook);
            Facebook.Visibility = ViewStates.Visible;
            Linkedin.SetImageResource(Resource.Drawable.linkedin);
            Linkedin.Visibility = ViewStates.Visible;
            Instagram.SetImageResource(Resource.Drawable.instagram);
            Instagram.Visibility = ViewStates.Visible;

            await Task.Delay(1500);

            aboutslinkapp.Text = "Don't forget to give your card a name";
            aboutslinkapp.StartAnimation(fadeouttext);
            await Task.Delay(1500);

            aboutslinkapp.ClearAnimation();
            SetCardNameAsync();
        }
예제 #3
0
 public InstaDirectInboxWrapper(Instagram api, bool pending = false)
 {
     _instaApi    = api ?? throw new NullReferenceException();
     PendingInbox = pending;
     Threads      =
         new IncrementalLoadingCollection <InstaDirectInboxWrapper, InstaDirectInboxThreadWrapper>(this);
 }
예제 #4
0
        private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
        {
            _logger.Log(LogLevel.Info, "Timer elapsed");


            try
            {
                var profiles = InstagramLogins.GetProfiles();

                foreach (var prof in profiles)
                {
                    if (AllowedProfiles.Any(item => item == prof.Id))
                    {
                        InitBrowser();


                        _logger.Log(LogLevel.Info, string.Format("Save followers profile : {0}", prof.Login));
                        Instagram.Open(prof.ProfileList.ElementAt(probability.Next(0, prof.ProfileList.Count)));
                        Instagram.SaveFollowers_PageDown(Number, 1000, prof.Id);


                        Instagram.CloseDriver();
                    }
                }
            }
            catch (Exception ex)
            {
                _logger.Log(LogLevel.Error, string.Format("Timer elapsed error: {0}", ex));
            }


            this.timer.Interval = 5 * 60 * 1000;
            this.timer.Start();
        }
예제 #5
0
        public void Execute(IJobExecutionContext context)
        {
            //like or follow
            var probability = new Random();
            var min         = 20;
            var max         = 150;

            if (probability.Next(0, 100) < 90)
            {
                int.TryParse(ConfigurationManager.AppSettings["MinFollows"], out min);
                int.TryParse(ConfigurationManager.AppSettings["MaxFollows"], out max);

                if (profileList != null && profileList.Any())
                {
                    Instagram.Follow_ScrollDown(profileList.ElementAt(probability.Next(0, profileList.Count)),
                                                probability.Next(min, max));
                }
            }
            else
            {
                int.TryParse(ConfigurationManager.AppSettings["MinPostToLike"], out min);
                int.TryParse(ConfigurationManager.AppSettings["MaxPostToLike"], out max);

                Instagram.Like_ScrollDown(probability.Next(min, max));
            }
        }
예제 #6
0
 public Registro(Instagram instagram)
 {
     usuario     = instagram.user;
     nombre      = instagram.nombre;
     correo      = instagram.correo;
     contrasenia = instagram.contrasenia;
 }
예제 #7
0
        public PushClient(Instagram api, bool tryLoadData = true)
        {
            _instaApi = api ?? throw new ArgumentException("Api can't be null", nameof(api));
            _user     = api.Session;
            _device   = api.Device;

            if (tryLoadData)
            {
                ConnectionData.LoadFromAppSettings();
            }

            // If token is older than 24 hours then discard it
            if ((DateTimeOffset.Now - ConnectionData.FbnsTokenLastUpdated).TotalHours > 24)
            {
                ConnectionData.FbnsToken = "";
            }

            // Build user agent for first time setup
            if (string.IsNullOrEmpty(ConnectionData.UserAgent))
            {
                ConnectionData.UserAgent = FbnsUserAgent.BuildFbUserAgent(_device);
            }

            NetworkInformation.NetworkStatusChanged += async sender =>
            {
                var internetProfile = NetworkInformation.GetInternetConnectionProfile();
                if (internetProfile == null || _loopGroup == null)
                {
                    return;
                }
                await Shutdown();
                await StartFresh();
            };
        }
예제 #8
0
 public Builder SetAccount(string username, string password)
 {
     _instagram = new Instagram {
         Username = username, Password = password
     };
     return(this);
 }
예제 #9
0
파일: Form1.cs 프로젝트: Woljix/Ushanka
        private void Pp_loadButton_Click(object sender, EventArgs e)
        {
            string _url = string.Empty;

            this.Invoke(new Action(() =>
            {
                pp_save.Enabled             = false;
                currentPP                   = string.Empty;
                pp_pictureBox.ImageLocation = string.Empty;

                try
                {
                    _url = Instagram.GetProfilePicture(pp_tb_username.Text) ?? Instagram.GetUser(pp_tb_username.Text).ProfilePicture;
                }
                catch (Exception ex)
                {
                    _url = string.Empty; // Kinda redundant, i know :)
                    Log.WriteLine("PP Load Error: " + ex.ToString(), LogType.Error);
                    // Debug.WriteLine(ex.ToString());
                }

                if (!string.IsNullOrEmpty(_url))
                {
                    currentPP = _url;

                    pp_pictureBox.ImageLocation = currentPP;
                    pp_save.Enabled             = true;
                }
                else
                {
                    MessageBox.Show("Could not load their profile picture for some reason!", "Sorry about that!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }));
        }
예제 #10
0
        private async Task <Instagram> LogIn()
        {
            Instagram instagram = new Instagram(_username, _password, new DefaultHttpClient());
            await instagram.Login();

            return(instagram);
        }
예제 #11
0
        public static void TimerJob([TimerTrigger("00:10:00")] TimerInfo timer)
        {
            var prob = probability.Next(0, RandomFollow + RandomUnfollow + RandomLike + RandomSave);

            if (prob < RandomFollow)
            {
                Instagram.Follow_FromDB(probability.Next(MinFollows, MaxFollows));
            }
            else if (prob < RandomFollow + RandomUnfollow)
            {
                Instagram.Unfollow_PageDown(probability.Next(UnfollowUsersMin, UnfollowUsersMax));
            }
            else if (prob < RandomFollow + RandomUnfollow + RandomSave)
            {
                //Сохранить подписчиков
                if (profile.ProfileList != null && profile.ProfileList.Any())
                {
                    Instagram.Open(profile.ProfileList.ElementAt(probability.Next(0, profile.ProfileList.Count)));
                    Instagram.SaveFollowers_PageDown(PageDownCount);
                }
            }
            else
            {
                Instagram.Like_ScrollDown(probability.Next(MinPostLikes, MaxPostLikes));
            }
        }
예제 #12
0
        public async Task GetPageTest()
        {
            Instagram instagram = await LogIn();

            User user = await instagram.GetAccount("foodbeast");

            Assert.AreEqual(22718303, user.Id);
        }
예제 #13
0
        private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
        {
            BackgroundWorker worker = sender as BackgroundWorker;

            Instagram inst = new Instagram(_sendMessageCoor, _filePathCSV, _filePathTXT);

            inst.SendMessageStart(worker, e);
        }
예제 #14
0
 private void button4_Click(object sender, EventArgs e)
 {
     if (profile.ProfileList != null && profile.ProfileList.Any())
     {
         Instagram.Open(profile.ProfileList.ElementAt(probability.Next(0, profile.ProfileList.Count)));
         Instagram.SaveFollowers_PageDown(PageDownCount, 100, profile.Id);
     }
 }
예제 #15
0
        public void Instagram_IPhone()
        {
            var isChrome = Instagram.TryParse(UserAgents.Instagram_IPhone, out var browser);

            Assert.True(isChrome);
            Assert.Equal(DeviceTypes.Mobile, browser.DeviceType);
            Assert.Equal(OperatingSystems.IOS, browser.OS);
        }
예제 #16
0
        public async Task <ActionResult> SearchByTag(string search_tag)
        {
            //InstagramAuthResponse iar = (InstagramAuthResponse)Session["Instagram"];
            var          insta = new Instagram(_access_token);//iar.access_token
            List <Media> res   = await insta.SearchByTagAsync(search_tag);

            return(View(res));

            if (Session["Instagram"] != null)
            {
                ViewBag.Tag = search_tag;

                //**************************************************************************
                //InstagramAuthResponse iar = (InstagramAuthResponse)Session["Instagram"];
                //var insta = new Instagram(iar.access_token);
                //List<Media> res = await insta.SearchByTagAsync(search_tag);
                //return View(res);
                //***************************************************************************

                //var tagSearchUrl = string.Format("https://api.instagram.com/v1/tags/{0}/media/recent?access_token={1}", search_tag, iar.access_token);

                //WebClient client = new WebClient();
                //Task<byte[]> ds = client.DownloadDataTaskAsync(tagSearchUrl);
                //var result = await ds;
                //var response = System.Text.Encoding.Default.GetString(result);

                //List<Media> ii = new List<Media>();
                //MediasResponse mr = JsonConvert.DeserializeObject<MediasResponse>(response);
                //int max_iteration = 2;
                //while (max_iteration > 0 && !string.IsNullOrEmpty(mr.Pagination.NextUrl))
                //{
                //    ii.AddRange(mr.Data);
                //    tagSearchUrl = mr.Pagination.NextUrl;
                //    ds = client.DownloadDataTaskAsync(tagSearchUrl);
                //    result = await ds;
                //    response = System.Text.Encoding.Default.GetString(result);
                //    mr = JsonConvert.DeserializeObject<MediasResponse>(response);

                //    --max_iteration;
                //}
                //return View(ii);


                //ii.AddRange(mr.Data);

                //dynamic jsResult = JsonConvert.DeserializeObject(response);
                //foreach (var data in jsResult.data)
                //{
                //    ii.Add(new Image
                //    {
                //        LowResolution = new Resolution { Url = data.images.low_resolution.url, Height = data.images.low_resolution.height, Width = data.images.low_resolution.width },
                //        StandardResolution = new Resolution { Url = data.images.standard_resolution.url, Height = data.images.standard_resolution.height, Width = data.images.standard_resolution.width },
                //        Thumbnail = new Resolution { Url = data.images.thumbnail.url, Height = data.images.thumbnail.height, Width = data.images.thumbnail.width }
                //    });
                //}
            }
            return(View());
        }
예제 #17
0
        private void UpdatePerfilData()
        {
            res = proxy.GetUser(_name);
            var   urlimage = newURL + res.foto;
            Image image    = Image.FromFile(urlimage);

            ImagenPerfil.Image = image;
            Biografia.Text     = res.biografia;
        }
예제 #18
0
        public void Instagram_IPad()
        {
            var isInstagram = Instagram.TryParse(UserAgents.Instagram_IPad, out var browser);

            Assert.True(isInstagram);
            Assert.Equal(BrowserNames.Instagram, browser.Name);
            Assert.Equal(DeviceTypes.Tablet, browser.DeviceType);
            Assert.Equal(OperatingSystems.IOS, browser.OS);
        }
예제 #19
0
 /// <summary>
 /// Only use this constructor to make empty placeholder thread.
 /// </summary>
 /// <param name="user"></param>
 /// <param name="api"></param>
 public InstaDirectInboxThreadWrapper(InstaUser user, Instagram api) : this(api)
 {
     Users.Add(user);
     Title = user.Username;
     if (Users.Count == 0)
     {
         Users.Add(new InstaUser());
     }
 }
예제 #20
0
        public static List <Media> LoadMediaByHashTag(string hashtag, int min_tag_id)
        {
            string access_token = InstagramMVC.DataManagers.UtilManager.GetVarValue("instagram.accesstoken");

            List <Media> medias = new List <Media>();
            var          insta  = new Instagram(access_token);

            medias = insta.SearchByTag(hashtag, 0, min_tag_id);
            return(medias);
        }
예제 #21
0
        public override Instagram Procesar()
        {
            var insta = new Instagram();

            foreach (DataRow row in dataset.Tables["Login"].Rows)
            {
                insta.contrasenia = (row["contrasenia"].ToString());
            }
            return(insta);
        }
예제 #22
0
        static void Main(string[] args)
        {
            var publisher = new Publisher();
            var insta     = new Instagram();
            var newspaper = new Newspaper();

            publisher.Subscribe(insta);
            publisher.Subscribe(newspaper);
            publisher.GetNewPost("The observer pattern is easy");
        }
예제 #23
0
        public async Task GetMediaTest()
        {
            Instagram instagram = await LogIn();

            User user = await instagram.GetAccount("foodbeast");

            ICollection <Media> media = await instagram.GetMediasByUserId(user.Id, 100);

            Assert.AreEqual(100, media.Count);
        }
예제 #24
0
        private void button8_Click(object sender, EventArgs e)
        {
            Instagram.InitChromeDriver();

            var profiles = InstagramLogins.GetProfiles();

            foreach (var prof in profiles)
            {
                Instagram.Metrica(prof.Login, prof.Id);
            }
        }
예제 #25
0
        public bool registrarUsuario(Instagram instagram)
        {
            var registro = new Registro(instagram);
            var temp     = registro.Ejecutar();

            if (temp.contrasenia == instagram.contrasenia)
            {
                return(false);
            }
            return(true);
        }
예제 #26
0
        public async Task <JsonResult> Login([FromUri] string username, [FromUri] string password)
        {
            var scopes = new List <OAuth.Scope> {
                InstaSharp.OAuth.Scope.Basic
            };
            var oAuthResponse = await Instagram.AuthByCredentialsAsync(username, password, config, scopes);

            var guid = AddAuthResponseToStore(oAuthResponse);

            return(Json(new { Key = guid }));
        }
예제 #27
0
        //Template method
        public Instagram Ejecutar()
        {
            var datos = new Instagram();

            if (Conectar())
            {
                Seleccionar();
                datos = Procesar();
                Desconectar();
            }
            return(datos);
        }
예제 #28
0
        public Instagram getFeed(Instagram instagram)
        {
            var getdata = new GetFeed(instagram);
            var data    = getdata.Ejecutar();

            //Strategy
            OrdenarNumeros ordenador = new OrdenarNumeros(data.publico, new Ascendente());

            data.publico = ordenador.ListaOrdenada();

            return(data);
        }
예제 #29
0
        private bool InitBrowser()
        {
            try
            {
                Instagram.InitChromeDriver();
            }
            catch (Exception ex)
            {
                return(false);
            }

            return(true);
        }
예제 #30
0
 public void UpdatePerfil()
 {
     res = proxy.GetUser(perfil);
     InfoPerfil();
     CargarImagenes();
     if (publicaciones)
     {
         CargarPublicaciones();
     }
     else
     {
         CargarGuardado();
     }
 }
예제 #31
0
        private IEnumerable<Instagram> GetRecentPosts()
        {
            var instagramList = new List<Instagram>();

            var dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0);

            var urlToFetch = string.Format(
                "https://api.instagram.com/v1/users/{0}/media/recent/?access_token={1}",
                Settings.Instagram.UserId,
                Settings.Instagram.AccessToken);

            Logger.Trace("Instagram service: fetch " + urlToFetch);

            using (var cliend = new WebClient())
            {
                var jsonString = cliend.DownloadString(urlToFetch);
                dynamic d = JValue.Parse(jsonString);

                foreach (var dataItem in d.data)
                {
                    var instagram = new Instagram
                    {
                        InstagramId = dataItem.id,
                        Url = dataItem.link,
                        Username = dataItem.user.username,
                        Text = dataItem.caption.text,
                        TimeCreated = dtDateTime.AddSeconds(double.Parse((string)dataItem.created_time)),
                        TimeUnixCreated = double.Parse((string)dataItem.created_time),
                        ImageLowResolution = dataItem.images.low_resolution.url,
                        ImageStandartResolution = dataItem.images.standard_resolution.url,
                        ImageThumbnail = dataItem.images.thumbnail.url
                    };
                    instagramList.Add(instagram);
                }
            }

            return instagramList;
        }