Advertisement
DimaDevelop

test

Jun 25th, 2022
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 9.38 KB | None | 0 0
  1. import vk_api
  2. from vk_api.longpoll import VkLongPoll, VkEventType
  3. import time
  4. from datetime import datetime
  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. def friends_list(vk):
  40.     try:
  41.         akk_id = reply_message(vk)
  42.         friends_list = vk.method("friends.get", {"user_id": akk_id})
  43.         print(friends_list)
  44.         return f"[id{akk_id}|👀 Список друзей: {friends_list['count']}]"
  45.     except Exception as e: return e
  46.  
  47. """Функция для удаления из друзей"""
  48. def friends_delete(vk):
  49.         try:
  50.             akk_id = reply_message(vk)
  51.             response = vk.method("friends.delete", {"user_id": akk_id})
  52.             if response.get('friend_deleted'):
  53.                 return f"[id{akk_id}|💔 Пользователь удален из друзей]"
  54.             elif response.get('out_request_deleted'):
  55.                 return f"[id{akk_id}|✅ Отменена исходящая заявка]"
  56.             elif response.get('in_request_deleted'):
  57.                 return f"[id{akk_id}|✅ Отклонена входящая заявка]"
  58.             elif response.get('suggestion_deleted'):
  59.                 return f"[id{akk_id}|✅ Отклонена рекомендация друга]"
  60.             else:
  61.                  return f"[id562211705|❗ Произошла ошибка]"
  62.         except Exception as e: return e # при ошибке выводим ошибку
  63.  
  64. """Функция для удаления добавления в чёрный список"""
  65. def account_ban(vk):
  66.     try:
  67.         akk_id = reply_message(vk)        
  68.         response = vk.method("account.ban", {"owner_id": akk_id})
  69.         if response == 1: # если результат равен к 1
  70.             return f"[id{akk_id}|✅ Пользователь добавлен в ЧС]" # оповещаем что пользователь добавлен в чёрный спискок
  71.     except Exception as e: return e # при ошибке выводим ошибку
  72.  
  73. """Функция для удаления из чёрного списка"""
  74. def account_unban(vk):
  75.     try:
  76.         akk_id = reply_message(vk)
  77.         response = vk.method("account.unban", {"owner_id": akk_id})
  78.         if response == 1: # если результат равен к 1
  79.             return f"[id{akk_id}|✅ Пользователь убран из ЧС]" # оповещаем что пользователь убран из чёрного списка
  80.     except Exception as e: return e # при ошибке выводим ошибку
  81.  
  82. def not_old_fritnds(vk):
  83.     try:
  84.         akk_id = reply_message(vk)
  85.         friend = vk.method("friends.getRecent")
  86.         print(friend)
  87.         return f"[id{akk_id}|Количество недавно добавленных друзей: {friend[0]['count']}"
  88.     except Exception as e: return e
  89.  
  90. def chek_status_user(vk):
  91.     akk_id = reply_message(vk)
  92.     status = vk.method("status.get", {"user_id": akk_id})['text']
  93.     print(status)
  94.     return f"Статус юзера: {status}"
  95.  
  96. def pingvk(vk):
  97.     try:
  98.         ct = time.time()
  99.         print(ct)
  100.         return f"🌐PingTime: {round((datetime.now().timestamp() - ct) * 1000, 1)} мс"
  101.     except Exception as e: return e
  102.  
  103. def user_info(vk):
  104.     try:
  105.         akk_id = reply_message(vk)
  106.         info = vk.method("users.get", {"user_ids": akk_id, "fields": "bdate"})
  107.         return f"👤 Пользователь [id{akk_id}|{info[0]['first_name']} {info[0]['last_name']}] (id{info[0]['id']})\n📯 Дата рождения: {info[0]['bdate']}"
  108.     except Exception as e: return e
  109.  
  110. def followers(vk):
  111.     try:
  112.         akk_id = reply_message(vk)
  113.         response = vk.method("users.getFollowers", {"user_id": akk_id})
  114.         return f"[id{akk_id}|👁 подписчики пользователя: {response['count']}]"
  115.     except Exception as e: return e
  116.  
  117. def banned_users(vk):
  118.     response = vk.method("account.getBanned")
  119.     my_id = vk.method('account.getProfileInfo')['id']
  120.     return f"[id{my_id}|❤ Количество заблокированных аккаунтов: {response['count']}]"
  121.  
  122. def info_account(vk):
  123.     try:
  124.         akk_id = reply_message(vk)
  125.         response = vk.method("users.get", {"user_ids": akk_id})
  126.         return f"Информация о пользователе: [id{akk_id}|{response['first_name']}\nМожет ли смотреть профиль: {response['can_access_closed']}\nПриват: {response['is_closed']}"
  127.     except Exception as e: return e
  128.  
  129. def user_stikers(vk):
  130.     try:
  131.         my_id = vk.method('account.getProfileInfo')['id']
  132.         response = vk.method("store.getProducts", {"User_id": my_id, "type": "stickers", "filters": "purchased"})['count']
  133.         return f"[id{my_id}|Стикеры пользователя: {response}]"
  134.     except Exception as e: return e
  135.  
  136. vk: object = vk_api.VkApi(token=tok) # авторизация
  137. lp: object = VkLongPoll(vk) # поднятие лонгпула
  138.  
  139.  
  140. for event in lp.listen(): # Читаем сообщения
  141.     if event.type == VkEventType.MESSAGE_NEW: # Читаем сообщения
  142.         if event.from_me: # Если отправили мы
  143.             mess = event.text.startswith
  144.             if mess(f'{prefix} +др'): # Если мы написали +др
  145.                 msg_edit(friends_add(vk)) # Вызываем функцию добавления
  146.                 print(f"Принял команду +др, ответ от сервера: {friends_add(vk)}")
  147.  
  148.             elif mess(f'{prefix} пинг'):
  149.                 msg_edit(pingvk(vk))
  150.                 print(f"Принял команду пинг, ответ от сервера: {pingvk(vk)}")
  151.  
  152.  
  153.             elif mess(f'{prefix} друзья'):
  154.                 msg_edit(friends_list(vk))
  155.                 print(f"Принял команду друзья, ответ от сервера: {friends_list(vk)}")
  156.  
  157.             elif mess(f'{prefix} статус'):
  158.                 msg_edit(chek_status_user(vk))
  159.                 print(f"Принял команду статус, ответ от сервера: {chek_status_user(vk)}")
  160.  
  161.             elif mess(f'{prefix} стики'):
  162.                 msg_edit(user_stikers(vk))
  163.                 print(f"Принял команду стики, ответ от сервера: {user_stikers(vk)}")
  164.  
  165.             elif mess(f'{prefix} недавние'):
  166.                 msg_edit(not_old_fritnds(vk))
  167.                 print(f"Принял команду недавние, ответ от сервера: {not_old_fritnds(vk)}")
  168.  
  169.             elif mess(f'{prefix} акк'):
  170.                 msg_edit(info_account(vk))
  171.                 print(f"Принял команду подписки, ответ от сервера: {info_account(vk)}")
  172.  
  173.             elif mess(f'{prefix} подписки'): # Если мы написали подписки
  174.                 msg_edit(followers(vk))
  175.                 print(f"Принял команду подписки, ответ от сервера: {followers(vk)}")
  176.            
  177.             elif mess(f'{prefix} чс список'):
  178.                 msg_edit(banned_users(vk))
  179.                 print(f"Принял команду чс список, ответ от сервера: {banned_users(vk)}")
  180.  
  181.             elif mess(f'{prefix} инфо'):
  182.                 msg_edit(user_info(vk))
  183.                 print(f"Принял команду инфо, ответ от сервера: {user_info(vk)}")
  184.  
  185.             elif mess(f'{prefix} -др'): # Если мы написали -др
  186.                 msg_edit(friends_delete(vk)) # вызываем функцию удаления из др
  187.                 print(f"Принял команду -др, ответ от сервера: {friends_delete(vk)}")
  188.  
  189.             elif mess(f'{prefix} -чс'): # Если мы написали -чс
  190.                 msg_edit(account_unban(vk)) # вызываем функцию удаления из чс
  191.                 print(f"Принял команду -чс, ответ от сервера: {account_unban(vk)}")
  192.  
  193.             elif mess(f'{prefix} +чс'): # Если мы написали +чс
  194.                 msg_edit(account_ban(vk)) # вызываем функцию добавления в чс
  195.  
  196.    
  197.                
  198.            
  199.  
  200.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement