Advertisement
DimaDevelop

Untitled

Jun 24th, 2022
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.57 KB | None | 0 0
  1. from re import M
  2. from urllib import response
  3. import vk_api
  4. from vk_api.longpoll import VkLongPoll, VkEventType
  5. from config import tok
  6.  
  7.  
  8. prefix = ".м"
  9.  
  10. yes = "💚"
  11.  
  12.  
  13. def reply_message(vk):
  14.     akk_id = vk.method('messages.getById', {'message_ids': event.message_id})['items'][0]['reply_message']['from_id']
  15.     return akk_id
  16.  
  17.  
  18. """Функция для добавления в друзья"""
  19. def friends_add(vk):
  20.     try:
  21.         akk_id = reply_message(vk)
  22.         response = vk.method("friends.add", {"user_id": akk_id})
  23.         if response == 1:
  24.             return f"[id{akk_id}|{yes} Заявка в друзья отправлена."
  25.         if response == 2:
  26.             return f"[id{akk_id}|{yes} Заявка в друзья одобрена.]"
  27.         if response == 4:
  28.             return f"[id{akk_id}|{yes} Повторная заявка отправлена.]"
  29.     except Exception as e: return e # при ошибке выводим ошибку
  30.  
  31.  
  32. """Функция для редактирования смс"""
  33. def msg_edit(text, atts=None):
  34.     vk.method("messages.edit", {"peer_id": event.peer_id, "keep_forward_messages": 1, "message_id": event.message_id,
  35.                                 "message": text,
  36.                                 'attachments': atts, "random_id": 0})
  37.  
  38.  
  39. """Функция для удаления из друзей"""
  40. def friends_delete(vk):
  41.         try:
  42.             akk_id = reply_message(vk)
  43.             response = vk.method("friends.delete", {"user_id": akk_id})
  44.             if response.get('friend_deleted'):
  45.                 return f"[id{akk_id}|💔 Пользователь удален из друзей]"
  46.             elif response.get('out_request_deleted'):
  47.                 return f"[id{akk_id}|✅ Отменена исходящая заявка]"
  48.             elif response.get('in_request_deleted'):
  49.                 return f"[id{akk_id}|✅ Отклонена входящая заявка]"
  50.             elif response.get('suggestion_deleted'):
  51.                 return f"[id{akk_id}|✅ Отклонена рекомендация друга]"
  52.             else:
  53.                  return f"[id562211705|❗ Произошла ошибка]"
  54.         except Exception as e:
  55.             return f"❗ Произошла ошибка VK: {e}" # при ошибке выводим ошибку
  56.  
  57. """Функция для удаления добавления в чёрный список"""
  58. def account_ban(vk):
  59.     try:
  60.         akk_id = reply_message(vk)        
  61.         response = vk.method("account.ban", {"owner_id": akk_id})
  62.         if response == 1: # если результат равен к 1
  63.             return f"[id{akk_id}|✅ Пользователь добавлен в ЧС]" # оповещаем что пользователь добавлен в чёрный спискок
  64.     except Exception as e: return e # при ошибке выводим ошибку
  65.  
  66. """Функция для удаления из чёрного списка"""
  67. def account_unban(vk):
  68.     try:
  69.         akk_id = reply_message(vk)
  70.         response = vk.method("account.unban", {"owner_id": akk_id})
  71.         if response == 1: # если результат равен к 1
  72.             return f"[id{akk_id}|✅ Пользователь убран из ЧС]" # оповещаем что пользователь убран из чёрного списка
  73.     except Exception as e: return e # при ошибке выводим ошибку
  74.  
  75. def not_old_fritnds(vk):
  76.     try:
  77.         akk_id = reply_message(vk)
  78.         friend = vk.method("friends.getRecent")
  79.         print(friend)
  80.         return f"[id{akk_id}|Количество недавно добавленных друзей:\n{friend[0]['count']}"
  81.     except Exception as e: return e
  82.  
  83. def user_info(vk):
  84.     try:
  85.         akk_id = reply_message(vk)
  86.         info = vk.method("users.get", {"user_ids": akk_id})
  87.         return f"👁 Имя и Фамилия: [id{akk_id}|{info[0]['first_name']} {info[0]['last_name']}\n🆔] ID пользователя: {info[0]['id']}"
  88.     except Exception as e: return e
  89.  
  90. def followers(vk):
  91.     try:
  92.         akk_id = reply_message(vk)
  93.         response = vk.method("users.getFollowers", {"user_id": akk_id})
  94.         return f"[id{akk_id}|👁 подписчики пользователя: {response['count']}]"
  95.     except Exception as e: return e
  96.  
  97. def banned_users(vk):
  98.     response = vk.method("account.getBanned")
  99.     my_id = vk.method('account.getProfileInfo')['id']
  100.     return f"[id{my_id}|❤ Количество заблокированных аккаунтов: {response['count']}]"
  101.  
  102. def info_account(vk):
  103.     try:
  104.         akk_id = reply_message(vk)
  105.         my_id = vk.method('account.getProfileInfo')['id']
  106.         response = vk.method("users.get", {"user_ids": akk_id, "fields": "about"})[0]
  107.         if response['can_access_closed'] == True:
  108.             return "💚"
  109.         elif response['can_access_closed'] == False:
  110.             return "❤"
  111.         elif response['is_closed'] == True:
  112.             return "💚"
  113.         elif response['is_closed'] == False:
  114.             return "❤"
  115.         return f"Информация о пользователе: [id{my_id}|{response['first_name']} {response['last_name']}]\nО себе: {response['about']}\nМожет ли смотреть профиль: {response['can_access_closed']}\nПриват: {response['is_closed']}"    
  116.     except Exception as e: return e
  117.  
  118. def user_stikers(vk):
  119.     try:
  120.         my_id = vk.method('account.getProfileInfo')['id']
  121.         response = vk.method("store.getProducts", {"User_id": my_id, "type": "stickers", "filters": "purchased"})['count']
  122.         return f"[id{my_id}|Стикеры пользователя: {response}]"
  123.     except Exception as e: return e
  124.  
  125. vk: object = vk_api.VkApi(token=tok) # авторизация
  126. lp: object = VkLongPoll(vk) # поднятие лонгпула
  127.  
  128.  
  129. for event in lp.listen(): # Читаем сообщения
  130.     if event.type == VkEventType.MESSAGE_NEW: # Читаем сообщения
  131.         if event.from_me: # Если отправили мы
  132.             mess = event.text.startswith
  133.             if mess(f'{prefix} +др'): # Если мы написали +др
  134.                 msg_edit(friends_add(vk)) # Вызываем функцию добавления
  135.                 print(f"Принял команду +др, ответ от сервера: {friends_add(vk)}")
  136.  
  137.             elif mess(f'{prefix} стики'):
  138.                 msg_edit(user_stikers(vk))
  139.                 print(f"Принял команду стики, ответ от сервера: {user_stikers(vk)}")
  140.  
  141.             elif mess(f'{prefix} недавние'):
  142.                 msg_edit(not_old_fritnds(vk))
  143.                 print(f"Принял команду недавние, ответ от сервера: {not_old_fritnds(vk)}")
  144.  
  145.             elif mess(f'{prefix} акк'):
  146.                 msg_edit(info_account(vk))
  147.                 print(f"Принял команду подписки, ответ от сервера: {info_account(vk)}")
  148.  
  149.             elif mess(f'{prefix} подписки'): # Если мы написали подписки
  150.                 msg_edit(followers(vk))
  151.                 print(f"Принял команду подписки, ответ от сервера: {followers(vk)}")
  152.            
  153.             elif mess(f'{prefix} чс список'):
  154.                 msg_edit(banned_users(vk))
  155.                 print(f"Принял команду чс список, ответ от сервера: {banned_users(vk)}")
  156.             elif mess(f'{prefix} инфо'):
  157.                 msg_edit(user_info(vk))
  158.                 print(f"Принял команду инфо, ответ от сервера: {user_info(vk)}")
  159.  
  160.             elif mess(f'{prefix} -др'): # Если мы написали -др
  161.                 msg_edit(friends_delete(vk)) # вызываем функцию удаления из др
  162.                 print(f"Принял команду -др, ответ от сервера: {friends_delete(vk)}")
  163.  
  164.             elif mess(f'{prefix} -чс'): # Если мы написали -чс
  165.                 msg_edit(account_unban(vk)) # вызываем функцию удаления из чс
  166.                 print(f"Принял команду -чс, ответ от сервера: {account_unban(vk)}")
  167.  
  168.             elif mess(f'{prefix} +чс'): # Если мы написали +чс
  169.                 msg_edit(account_ban(vk)) # вызываем функцию добавления в чс
  170.  
  171.    
  172.                
  173.            
  174.  
  175.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement