Exemple #1
0
        private async Task RunAsync()
        {
            _api = await VkLogin.SimpleLoginAndGetApi(_app, _login, _pas, VkScope.Friends);

            var resolver = new Antigate(_antigate);
            var items    = new List <GroupFriendsFileLine>(File.ReadAllLines(_in).Select(_ => new GroupFriendsFileLine(_)));
            var current  = 0;

            foreach (var item in items.Where(_ => _.State == State.Wait))
            {
                try
                {
                    var res = await _api.Friends.Add(resolver, item.UserId, _message);

                    switch (res)
                    {
                    case VkAddFriendsResultEnum.SuccessRequest:
                        item.State = State.SuccessRequest;
                        current++;
                        break;

                    case VkAddFriendsResultEnum.SucessAdd:
                        item.State = State.SuccessAdd;
                        current++;
                        break;

                    case VkAddFriendsResultEnum.AlreadyRequest:
                        item.State = State.AlreadyExist;
                        break;

                    default:
                        throw new ArgumentOutOfRangeException();
                    }
                }
                catch (Exception ex)
                {
                    Logger.ErrorException("add friend exception", ex);
                    item.Comment = ex.Message.Replace('\n', ' ').Replace('|', ' ');
                    item.State   = State.Error;
                }
                item.Comment += " Complete:" + DateTime.Now.ToLongDateString();
                if (current >= _count)
                {
                    break;
                }
            }


            if (File.Exists(_out))
            {
                File.Delete(_out);
            }
            using (var outFile = new StreamWriter(File.OpenWrite(_out)))
            {
                foreach (var item in items)
                {
                    outFile.WriteLine(item.Serialize());
                }
            }
        }
Exemple #2
0
        private async Task RunAsync()
        {
            var groups = File.ReadAllLines(_in);

            _api = await VkLogin.SimpleLoginAndGetApi(_app, _login, _pas, VkScope.Friends);

            var items = new List <GroupFriendsFileLine>();

            foreach (var gr in groups)
            {
                var arr = await GetFriends(gr);

                items.AddRange(arr);
                //может вызываться слишком быстро
                Thread.Sleep(500);
            }

            if (File.Exists(_out))
            {
                File.Delete(_out);
            }

            using (var outFile = new StreamWriter(File.OpenWrite(_out)))
            {
                foreach (var item in items)
                {
                    outFile.WriteLine(item.Serialize());
                }
            }
        }
Exemple #3
0
        private async Task RunAsync()
        {
            try
            {
                var api = await VkLogin.SimpleLoginAndGetApi(_app, _login, _pas, VkScope.Messages);

                var resolver = new Antigate(_antigate);

                await api.Messages.Send(resolver, _msg, int.Parse(_uid));
            }
            catch (Exception ex)
            {
                Logger.ErrorException("Error send message", ex);
            }
        }
Exemple #4
0
        private async Task RunAsync()
        {
            _data.Clear();
            try
            {
                var api = await VkLogin.SimpleLoginAndGetApi(_app, _login, _pas, VkScope.Friends);

                var offset  = 0;
                var success = 0;
                var errors  = 0;
                while (true)
                {
                    Logger.Trace("Request {0} - {1} users", offset, offset + SyncPartSize);
                    var vkUserInfo = await api.Friends.GetAllInfo(offset : offset, count : SyncPartSize);

                    if (vkUserInfo.Length == 0)
                    {
                        break;
                    }
                    foreach (var vkFriendsResult in vkUserInfo)
                    {
                        Write(vkFriendsResult, ref success, ref errors);
                    }
                    offset += SyncPartSize;
                }

                Logger.Info("Complete. Success: {0}, Errors: {1}", success, errors);
                Logger.Info("Write to file");

                Save(_file, _format);
            }
            catch (Exception ex)
            {
                Logger.ErrorException("Something wrong!", ex);
            }
        }