Home Upgrade Search Memberlist Extras Hacker Tools Award Goals Help Wiki Contact

C# 

Instagram bot time follow automatization

I need an idea for a better way,solution to follow 60 instagram user by two period.... 1 user per 1 min or 60 users peer 1 hour with deley of one hour..And is there a possibility to add cancellation token to webrequest?

This is my current solution


Collections
Code
       private List<InstaXDB.Modeli.Node> instagram_nods = Logika.SharedLogika().GetNods();
       private List<InstaXDB.Modeli.Node> GetNodes(int numberOfNods)
       {
           return instagram_nods.Where(n => n.followed_by_instaX == false).Take(numberOfNods).ToList();
       }

Logic

Code
       public async Task StartCampaing(CancellationToken token)
        {
            while (instagram_nods.Count() != 0 || !token.IsCancellationRequested)
            {
                try
                {

                    var filteredNods = GetNodes(60);
                    
                    foreach (var inst_nod in filteredNods)
                    {
                        
                        Logika.SharedLogika().MarkAsFollowedDB(inst_nod.username);

                        //Remove temp
                        Console.WriteLine("folow:" + inst_nod.username);

                        instagram_nods.Remove(inst_nod);
                        //follow user on each min
                        
                        await Task.Delay(TimeSpan.FromMinutes(1));

                        if (token.IsCancellationRequested)
                            Console.WriteLine("Loop per Canseled requested");
                            break;
                    }

                    if (token.IsCancellationRequested)
                    {
                        Console.WriteLine("Main loop Canseled requested");
                        break;
                    }

                    //follow 60 user on each hour
                    await Task.Delay(TimeSpan.FromHours(1));
                    
                }
                catch (OperationCanceledException)
                {
                  
                }
            }
        }

Thanks in advance
buy me a coffee eth:0x88621A52aa5Eb3b6503628369687111810186c58
You can do something like this:
Code
HttpWebRequest request = WebRequest.CreateHttp("google.com");
IAsyncResult result = request.BeginGetResponse();

while(!result.AsyncWaitHandle.WaitOne(100))
{
    if(token.IsCancellationRequested)
    {
        //do whatever
    }
}

using(HttpWebResponse response = request.EndGetResponse(result) as HttpWebResponse) { ... }

This will check every 100 milliseconds if the result is completed.
I wrote this code from heart real quick so I might have made a mistake somewhere.
(Dec 12, 2017 09:03 AM)Ninja Wrote:  You can do something like this:
Code
HttpWebRequest request = WebRequest.CreateHttp("google.com");
IAsyncResult result = request.BeginGetResponse();

while(!result.AsyncWaitHandle.WaitOne(100))
{
   if(token.IsCancellationRequested)
   {
       //do whatever
   }
}

using(HttpWebResponse response = request.EndGetResponse(result) as HttpWebResponse) { ... }

This will check every 100 milliseconds if the result is completed.
I wrote this code from heart real quick so I might have made a mistake somewhere.

Thanks for reply..I will definitely try it...thanks again
buy me a coffee eth:0x88621A52aa5Eb3b6503628369687111810186c58


Possibly Related Threads...
Thread / Author Replies Views Last Post
[C#] by i-manuelJan 12, 2017 09:11 AM 2 567 Jan 12, 2017 09:11 AM
Last Post: Bαker
[.NET] by elmagekNov 27, 2016 07:54 PM 14 645 Nov 27, 2016 07:54 PM
Last Post: i_pokorny
[Python] by gongas19Nov 15, 2016 06:08 AM 10 2,044 Nov 15, 2016 06:08 AM
Last Post: bytez