Загрузка...

Cleaning VK friends: Deleting all those with whom there are no mutual friends

Thread in Your projects created by MALWARE May 3, 2022. (bumped Monday at 1:10 PM) 3,372 views

  1. MALWARE
    MALWARE Topic starter May 3, 2022 мяукаю 13,661 Mar 12, 2021
    Python
    import vk_api
    token = 'token'
    api = vk_api.VkApi(token=token).get_api()
    for friend in api.friends.getMutual(target_uids=','.join([str(uid) for uid in api.friends.get()['items']])):
    if friend['common_count'] == 0:
    friend_name = api.users.get(user_ids=friend['id'])[0]
    api.friends.delete(user_id=friend['id'])
    print('Удалил друга '+friend_name['first_name']+' '+friend_name['last_name'])
    Использование: в переменную token подтавить токен
     
  2. loginof
    loginof May 3, 2022 357 Apr 22, 2019
    :pepeCool: круто
     
  3. Chukar
    Chukar Jul 3, 2022 Banned 44 Mar 20, 2022
    полезно
     
  4. ЛысыйКот
    ЛысыйКот Oct 6, 2022 14,168 Jul 9, 2019
    Полезно очень
     
    1. View previous comments (1)
    2. ЛысыйКот
  5. HOLOGOLIC
    Спасибо, давно такое искал, очень полезно!)
     
  6. комару
    комару Nov 17, 2022 отошел от форума 7,948 Jan 12, 2020
    лайк за аву
     
  7. лонли
    лонли Jan 19, 2023 134 Sep 21, 2018
    годно
     
  8. 150506
    150506 Jan 19, 2023 Banned 11,231 Sep 18, 2019
    Видел этот код около года назад, когда друзей в вк набирал, а так норм, но ничего нового
     
  9. FLUXdev
    FLUXdev Apr 21, 2024 6 Apr 9, 2022
    о дадада я страдал такой фигнёй, но если честно код сырой и недработанный, можн сделать так:

    Python
    import vk_api
    from vk_api.exceptions import VkApiError

    def get_common_friends(api, user_id):
    try:
    # Получаем список друзей пользователя
    friends = api.friends.get(user_id=user_id)['items']

    common_friends = set()
    # Проверяем общих друзей с каждым другом
    for friend_id in friends:
    mutual_friends = api.friends.getMutual(target_uid=friend_id)
    if mutual_friends:
    common_friends.add(friend_id)

    return common_friends

    except VkApiError as e:
    print(f"Ошибка при получении списка друзей: {e}")
    return set()

    def main():
    # Введите ваш токен доступа
    token = 'YOUR_ACCESS_TOKEN'

    # Авторизация в API ВКонтакте
    vk_session = vk_api.VkApi(token=token)
    try:
    vk_session.auth()
    except vk_api.AuthError as e:
    print(f"Ошибка авторизации: {e}")
    return

    # Получаем ID текущего пользователя
    try:
    user_id = vk_session.method('users.get')[0]['id']
    except VkApiError as e:
    print(f"Ошибка при получении ID пользователя: {e}")
    return

    # Получаем список друзей пользователя
    try:
    friends = vk_session.method('friends.get')['items']
    except VkApiError as e:
    print(f"Ошибка при получении списка друзей: {e}")
    return

    # Очищаем список друзей, удаляя тех, у кого нет общих друзей
    for friend_id in friends:
    common_friends = get_common_friends(vk_session.method, friend_id)
    if not common_friends:
    try:
    vk_session.method('friends.delete', {'user_id': friend_id})
    print(f"Пользователь с ID {friend_id} удален из друзей.")
    except VkApiError as e:
    print(f"Ошибка при удалении пользователя с ID {friend_id}: {e}")

    print("Очистка списка друзей завершена.")

    if __name__ == "__main__":
    main()
     
    1. MALWARE Topic starter
      avatarFLUXdev, никогда не понимал, нахрена люди делают функцию main, а затем запускают ее..
      а почему код сырой?
      и какая может быть VkApiError при удалении из друзей?
    2. FLUXdev
      avatarMALWARE , я в этом коде проработал разные ошибки, это конечно ни на что не влияет, но всё равно, без обработчика ошибок не спортивно.
  10. epicinternetgf
    малваре крутой, но никто уже вк не пользуется
     
    1. APT29388
      avatarepicinternetgf, Дуров сегодня на допросе также сказал
  11. sklifosowsky
    дай бог малварь вшит
     
Loading...