Exemplo n.º 1
0
        public static void GetFriendCleanResult(List <long> friends, VkNet.Model.User friend, int days)
        {
            if (friend.IsDeactivated)
            {
                friends.Add(friend.Id);
                return;
            }
            DateTime lastSeen;

            if (friend.LastSeen == null)
            {
                return;
            }
            if (friend.LastSeen.Time != null)
            {
                lastSeen = friend.LastSeen.Time.Value;
            }
            else
            {
                return;
            }
            if (DateTime.Now - lastSeen > new TimeSpan(days, 0, 0, 0))
            {
                friends.Add(friend.Id);
            }
        }
Exemplo n.º 2
0
        public ClientVK(VkNet.Model.User user)
        {
            VkId = user.Id;

            VkAdress = $"vk.com/id{VkId}";

            VkName = $"{user.FirstName} {user.LastName}";
        }
Exemplo n.º 3
0
 public User(VkNet.Model.User vkUser)
 {
     Id           = vkUser.Id;
     Name         = $"{vkUser.FirstName} {vkUser.LastName}";
     Sex          = vkUser.Sex;
     Schools      = vkUser.Schools.Select(x => $"{x.Name} ({x.Id})").Distinct().ToList();
     Works        = vkUser.Career.Select(x => $"{x.Company} ({x.CityId})").Distinct().ToList();
     Universities = vkUser.Universities.Select(x => $"{x.Name} ({x.Id})").Distinct().ToList();
 }
Exemplo n.º 4
0
        public static Contact Map(VkNet.Model.User vkCon)
        {
            Mapper.Initialize(cfg => cfg.CreateMap <VkNet.Model.User, Contact>()
                              .ForMember("ContactIdentifier", x => x.MapFrom(c => c.Id))
                              .ForMember("Name", x => x.MapFrom(c => c.FirstName + " " + c.LastName)));
            var contact = Mapper.Map <VkNet.Model.User, Contact>(vkCon);

            contact.Type = "Vk";
            return(contact);
        }
Exemplo n.º 5
0
        public static VkUsers FromUser(VkNet.Model.User user)
        {
            var result = new VkUsers()
            {
                IdVk = (int)user.Id
            };

            result.Update(user);
            return(result);
        }
        private User ConvertUser(VkNet.Model.User vkUser)
        {
            User user = new User
            {
                Id        = vkUser.Id,
                FirstName = vkUser.FirstName,
                LastName  = vkUser.LastName,
                Photo     = vkUser.Photo100.ToString()
            };

            return(user);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Получение объекта нашего класса User из объекта класса User пространства имен VkNet
 /// </summary>
 /// <param name="sender"></param>
 /// <returns></returns>
 public static User GetUser(VkNet.Model.User sender, out bool IsOld)
 {
     if (IsOld = Users_Dict.TryGetValue(sender.Id, out User user))
     {
         return(user);
     }
     else
     {
         var new_user = new User(sender.FirstName, sender.LastName, sender.Id);
         Users_Dict.Add(sender.Id, new_user);
         Unload();
         return(new_user);
     }
 }
        public static User GetInfoUser()
        {
            User userToReturn = new User();
            v.Authorize(Convert.ToInt32(Properties.Settings.Default.VkAppId), Properties.Settings.Default.UserVkLogin, Properties.Settings.Default.UserVkPassword, Settings.All);
            VkNet.Model.User vkUser = new VkNet.Model.User();
            vkUser = v.Users.Get((long)v.UserId, ProfileFields.All, null); // v.Account.GetProfileInfo();
            if (vkUser == null)
                return null;

            userToReturn.FirstName = vkUser.FirstName;
            userToReturn.LastName = vkUser.LastName;
            userToReturn.City = vkUser.City != null ? vkUser.City.Title : "";
            userToReturn.VkUserId = vkUser.Id;
            userToReturn.Country = vkUser.City != null ? vkUser.Country.Title : "";
            return userToReturn;
        }
Exemplo n.º 9
0
        private void enterBut_Click(object sender, EventArgs e)
        {
            try
            {
                // Заходим в ВК
                vk.Authorize(4919033, userText.Text, passText.Text, scope);
                user = vk.Users.Get((long)vk.UserId, null, null);
                enterLabel.Text = "Успешный вход";

                // Получаем список собственных аудиозаписей и альбомов
                audiosList = vk.Audio.Get(user.Id, null, null, null, null);
                albumsList = vk.Audio.GetAlbums(user.Id, null, 0);
                foreach (var item in albumsList)
                    albumsListBox.Items.Add(item.Title);
                albumsListBox.Enabled = true;

                // Получаем инфу о группах
                groupsList = vk.Groups.Get(user.Id, true, GroupsFilters.Moderator);
                foreach (var item in groupsList)
                    groupsListBox.Items.Add(item.Name);

                // Включаем все нужные кнопки
                groupsListBox.Enabled = true;
            }
            catch (VkNet.Exception.VkApiAuthorizationException)
            {
                enterLabel.Text = "Неправильный логин/пароль";
            }
            catch (VkNet.Exception.VkApiException)
            {
                MessageBox.Show("Сбой со стороны ВКонтакте");
            }
            catch
            {
                MessageBox.Show("Что-то пошло не так, пните Митю!");
            }
        }
Exemplo n.º 10
0
 public void Update(VkNet.Model.User user)
 {
     Birthday   = SellerBox.Common.Helpers.VkHelper.BirtdayConvert(user.BirthDate);
     City       = user.City?.Title;
     Country    = user.Country?.Title;
     FirstName  = user.FirstName;
     LastName   = user.LastName;
     SecondName = user.Nickname;
     if (!string.IsNullOrWhiteSpace(user.Domain))
     {
         Link = $"https://vk.com/{user.Domain}";
     }
     else if (user.Id > 0)
     {
         Link = $"https://vk.com/id{user.Id}";
     }
     else
     {
         Link = null;
     }
     PhotoSquare50 = user.Photo50?.AbsoluteUri;
     PhotoOrig400  = user.Photo400Orig?.AbsoluteUri;
     Sex           = user.Sex == VkNet.Enums.Sex.Unknown || user.Sex == VkNet.Enums.Sex.Deactivated ? null : (bool?)(user.Sex == VkNet.Enums.Sex.Male);
 }
Exemplo n.º 11
0
 public static string GetURL(this VkNet.Model.User self)
 {
     return(Constants.VK_WEB_PAGE + "id" + self.Id);
 }
Exemplo n.º 12
0
        private Person GetPersonWithReposts(VkNet.Model.User user)
        {
            var person = new Person
            {
                Id        = user.Id,
                FirstName = user.FirstName,
                LastName  = user.LastName,
                Gender    = (int)user.Sex,
                Religion  = user.StandInLife?.Religion
            };

            if (DateTime.TryParse(user.BirthDate, out DateTime bdate))
            {
                person.BirthDate = bdate;
            }

            try
            {
                var posts = GetaAllWallPosts(user.Id);

                foreach (var group in
                         posts.Where(p =>
                                     p.CopyHistory.Count > 0 &&
                                     p.Date.HasValue &&
                                     DateTime.Today.Subtract(p.Date.Value).TotalDays <= 365)

                         .GroupBy(p => p.CopyHistory.First().OwnerId)
                         .Select(group => new
                {
                    OwnerId = -group.Key,
                    Count = group.Count()
                }))
                {
                    person.GroupReposts.Add(new GroupCounter
                    {
                        GroupId      = group.OwnerId,
                        CounterValue = group.Count
                    });
                }

                m_logger.Log($"{person.GroupReposts.Count} groups were found");
            }
            catch (Exception ex)
            {
                m_logger.Log($"ERROR: {ex.Message}");
            }

            //var personGroups = api.Groups.Get(new GroupsGetParams
            //{
            //    UserId = user.Id,
            //    //Extended = true
            //});

            //var folowers = api.Users.GetFollowers(user.Id);

            //var subscriptions = api.Users.GetSubscriptions(user.Id);

            //var qq = api.Groups.GetById("flightradar24", GroupsFields.All).Activity;

            return(person);
        }
Exemplo n.º 13
0
        public bool auth(string password)
        {
            try
            {
                Status = "Подождите нексолько секунд";
                Vk vk = new Vk(Login, password, Code);
                VkNet.Model.User user = vk.getUser();

                string firstName = "";
                string lastName  = "";
                string telNumber = "";
                string about     = "";
                byte[] image;
                string i = "";

                if (userRepository.getByMail(Login) != null)
                {
                    firstName = user.FirstName;
                    lastName  = user.LastName;
                    telNumber = user.MobilePhone;;
                    about     = $"Страна: {user.Country.Title}\n" + $"Город: {user.City.Title}";

                    using (WebClient client = new WebClient())
                    {
                        client.DownloadFile(new Uri(user.Photo200Orig.AbsoluteUri), User.filename);
                    }
                    using (System.IO.FileStream fs = new System.IO.FileStream(User.filename, System.IO.FileMode.OpenOrCreate))
                    {
                        image = new byte[fs.Length];
                        fs.Read(image, 0, image.Length);
                    }
                    CurrentUser.User = userRepository.getByMail(Login);
                    User tmp = new User(firstName, lastName, Login, telNumber, telNumber, about, image, CurrentUser.User.Privilege);
                    userRepository.update(CurrentUser.User, tmp);

                    App.authWindow.Close();
                    App.mainWindow = new MainWindow();
                    App.mainWindow.Show();
                    image = null;
                    return(true);
                }
                else
                {
                    firstName = user.FirstName;
                    lastName  = user.LastName;
                    telNumber = "";
                    about     = $"Страна: {user.Country.Title}\n" + $"Город: {user.City.Title}";
                    using (WebClient client = new WebClient())
                    {
                        client.DownloadFile(new Uri(user.Photo200Orig.AbsoluteUri), User.filename);
                    }
                    using (System.IO.FileStream fs = new System.IO.FileStream(User.filename, System.IO.FileMode.Open))
                    {
                        image = new byte[fs.Length];
                        fs.Read(image, 0, image.Length);
                    }

                    userRepository.add(new Model.User(firstName, lastName, Login, telNumber, about, image));
                    CurrentUser.User = userRepository.getByMail(Login);

                    App.authWindow.Close();
                    App.mainWindow = new MainWindow();
                    App.mainWindow.Show();
                    image = null;
                    return(true);
                }
            }
            catch (VkNet.Exception.UserAuthorizationFailException)
            {
                Status = "Введите код подверждения и повторите вход";
            }
            catch (VkNet.Exception.VkApiException)
            {
                Status = "Неверно указан логин или пароль";
            }
            catch (Exception)
            {
                Status = "Ошибка";
            }
            return(false);
        }
Exemplo n.º 14
0
        private void Userprofile_Load(object sender, EventArgs e)
        {
            platforms.Add("1", "Mobile web");
            platforms.Add("2", "iPhone");
            platforms.Add("3", "iPad");
            platforms.Add("4", "Android");
            platforms.Add("5", "WindowsPhone");
            platforms.Add("6", "Windows10");
            platforms.Add("7", "VK Site");
            relation_statuses.Add("0", "Not Set");
            relation_statuses.Add("1", "Single");
            relation_statuses.Add("2", "In a relationship");
            relation_statuses.Add("3", "Engaged");
            relation_statuses.Add("4", "Married");
            relation_statuses.Add("5", "It's complicated");
            relation_statuses.Add("6", "Actively searching");
            relation_statuses.Add("7", "In Love");
            relation_statuses.Add("8", "In a civil union");
            if (Target_id == 0)
            {
                Target_id = selfid;
            }
            userinfo        = api.Users.Get(Target_id, ProfileFields.All);
            First_name.Text = userinfo.FirstName;
            Last_name.Text  = userinfo.LastName;
            this.Text       = userinfo.FirstName + ' ' + userinfo.LastName + "[id" + Target_id + "]";
            if (userinfo.Blacklisted)
            {
                Actions_button.Enabled = false;
            }
            if (userinfo.HasPhoto ?? true)
            {
                ProfileImage.ImageLocation = userinfo.PhotoMax.ToString();
                ProfileImage.SizeMode      = PictureBoxSizeMode.Zoom;
            }
            else
            {
                ProfileImage.ImageLocation = "https://vk.com/images/camera_200.png";
                ProfileImage.SizeMode      = PictureBoxSizeMode.Zoom;
            }
            Status.Text = userinfo.Status;
            if (userinfo.Online ?? true)
            {
                online.Text      = "Online";
                online.ForeColor = System.Drawing.ColorTranslator.FromHtml("#8AC176");
            }
            if (userinfo.BirthdayVisibility.HasValue)
            {
                Birth_date.Text = userinfo.BirthDate;
            }
            Sex.Text      = userinfo.Sex.ToString();
            Verified.Text = userinfo.Verified.ToString();
            if (userinfo.Country != null)
            {
                Country.Text = userinfo.Country.Title;
            }
            Country.AutoSize = true;
            if (userinfo.City != null)
            {
                City.Text = userinfo.City.Title.Replace("City", "");
            }
            City.AutoSize   = true;
            Home_Town.Text  = userinfo.HomeTown;
            Domain.Text     = userinfo.Domain;
            Domain.AutoSize = true;
            string  regdateraw  = GETDATE(Target_id.ToString());
            JObject regdatejson = JObject.Parse(regdateraw);
            var     reg_unix    = regdatejson.SelectToken("response.unixtime");
            double  unixdouble  = Convert.ToDouble(reg_unix);

            Registration_date.Text        = UnixTimeStampToDateTime(unixdouble);
            Registration_date.AutoSize    = true;
            DaysFromRegistration.Text     = (string)regdatejson.SelectToken("response.days");
            DaysFromRegistration.AutoSize = true;
            HasMobile.Text            = userinfo.HasMobile.ToString();
            Followers.Text            = userinfo.FollowersCount.ToString();
            Common.Text               = userinfo.CommonCount.ToString();
            Common.AutoSize           = true;
            Blacklisted.Text          = userinfo.Blacklisted.ToString();
            BlacklistedByMe.Text      = userinfo.BlacklistedByMe.ToString();
            Friends.Text              = userinfo.FriendStatus.ToString();
            Friends.AutoSize          = true;
            HiddenFromFeed.Text       = userinfo.IsHiddenFromFeed.ToString();
            CanWritePM.Text           = userinfo.CanWritePrivateMessage.ToString();
            CanSendFriendRequest.Text = userinfo.CanSendFriendRequest.ToString();
            CanSeeAudio.Text          = userinfo.CanSeeAudio.ToString();
            CanSeeAllPosts.Text       = userinfo.CanSeeAllPosts.ToString();
            CanMakePosts.Text         = userinfo.CanPost.ToString();
            PersonalSite.Text         = userinfo.Site.ToString();
            if (userinfo.Education != null)
            {
                University.Text = userinfo.Education.UniversityName;
                Faculty.Text    = userinfo.Education.FacultyName;
                Graduation.Text = userinfo.Education.Graduation.ToString();
            }
            //Begin postprocessing...
            WebRequest  request  = WebRequest.Create("https://api.vk.com/method/users.get?access_token=" + api.Token + "&user_id=" + Target_id + "&fields=contacts,schools,relatives,relation,exports&v=5.65");
            WebResponse response = request.GetResponse();
            var         encoding = UTF8Encoding.ASCII;

            using (var reader = new System.IO.StreamReader(response.GetResponseStream(), encoding))
            {
                string  response_text = reader.ReadToEnd();
                JObject response_json = JObject.Parse(response_text);
                contacts.Add("mobile", (string)response_json.SelectToken("response[0].mobile_phone"));
                contacts.Add("home", (string)response_json.SelectToken("response[0].home_phone"));
                if (response_json.SelectToken("response[0].relation") != null)
                {
                    relations.Add("status", relation_statuses[(string)response_json.SelectToken("response[0].relation")]);
                    if (response_json.SelectToken("response[0].relation_partner") != null)
                    {
                        relations.Add("partner", (string)response_json.SelectToken("response[0].relation_partner"));
                    }
                    else
                    {
                        relations.Add("partner", "Not Selected");
                    }
                }
                if (response_json.SelectToken("response[0].schools[0].name") != null)
                {
                    school.Add("name", (string)response_json.SelectToken("response[0].schools[0].name"));
                    if (response_json.SelectToken("response[0].schools[0].year_from") != null)
                    {
                        school.Add("from", (string)response_json.SelectToken("response[0].schools[0].year_from"));
                    }
                    else
                    {
                        school.Add("from", "unknown");
                    }
                    if (response_json.SelectToken("response[0].schoolds[0].year_graduated") != null)
                    {
                        school.Add("to", (string)response_json.SelectToken("response[0].schoolds[0].year_graduated"));
                    }
                    else
                    {
                        school.Add("to", "unknown");
                    }
                }
                else
                {
                    school.Add("name", "unknown");
                }
            }
            MobilePhone.Text     = contacts["mobile"];
            HomePhone.Text       = contacts["home"];
            MobilePhone.AutoSize = true;
            HomePhone.AutoSize   = true;
            if (relations.ContainsKey("status"))
            {
                Relation_status.Text = relations["status"];
                Relation_UserID.Text = relations["partner"];
            }
            var friends = api.Friends.Get(Target_id);

            FriendsCount.Text     = friends.Count.ToString();
            FriendsCount.AutoSize = true;
            if (school["name"] != "unknown")
            {
                SchoolName.Text = school["name"];
                SchoolFrom.Text = school["from"];
                SchoolTo.Text   = school["to"];
            }
        }