Example #1
0
        /* Методы из vk api advanced */

        /* Метод проверяющий скрытые группы из листа string на принадлежность к миэту по участникам
         * Возвращает массив json с информацией о пользователях групп */
        internal static JArray LocalMietGroupCheck(List <string> local_groups_ids)
        {
            List <List <string> > splited_local_groups_ids = new List <List <string> >();

            for (int i = 0; i < local_groups_ids.Count; i += 64)
            {
                splited_local_groups_ids.Add(local_groups_ids.GetRange(i, Math.Min(64, local_groups_ids.Count - i)));
            }

            List <string> unique_ids = new List <string>();
            JArray        users_data = new JArray();

            Parallel.ForEach(splited_local_groups_ids, part_local_group_id =>
            {
                foreach (string local_group_id in part_local_group_id)
                {
                    JArray group_data = VkApiAdvanced.LocalMietGroupCheck(local_group_id);
                    if (group_data != null)
                    {
                        for (int i = 0; i < group_data.Count; i++)
                        {
                            string id = group_data[i]["id"].ToString();
                            if (!unique_ids.Contains(id))
                            {
                                unique_ids.Add(id);
                                lock (users_data) users_data.Add(group_data[i]);
                            }
                        }
                    }
                }
            });

            return(users_data);
        }
Example #2
0
        /* Метод позволяющий получить всех пользователей из групп в листе string
         * Возвращает лист int с id всех пользователей */
        internal static JArray GroupsGetMembers(List <string> group_ids, int max_count = 0)
        {
            List <string> unique_ids = new List <string>();

            JArray users_data = new JArray();

            Parallel.ForEach(group_ids, group_id =>
            {
                JArray group_users_data = VkApiAdvanced.GroupsGetMembers(group_id, max_count);
                for (int i = 0; i < group_users_data.Count; i++)
                {
                    string id = group_users_data[i]["id"].ToString();
                    if (!unique_ids.Contains(id))
                    {
                        unique_ids.Add(id);
                        lock (users_data) users_data.Add(group_users_data[i]);
                    }
                }
            });

            return(users_data);
        }