Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import json
- import requests
- from pickle import load
- from pickle import dump
- from vklancer import api
- from vklancer import utils
- global z, l
- def set_vk_token(access_token, AUTH_FILE):
- with open(AUTH_FILE, 'wb') as output:
- dump(access_token, output)
- def get_vk_token(AUTH_FILE):
- token = None
- try:
- with open(AUTH_FILE, 'rb') as pkl_file:
- token = load(pkl_file)
- except Exception:
- pass
- return token
- def load_config(failname):
- with open(failname) as data_file:
- return json.load(data_file)
- def method_errors(data):
- try:
- if data and 'ok' in data:
- return False
- else:
- return True
- except Exception:
- return True
- def groupsGetMembers(group_id, offset, count):
- try:
- return vk.groups.getMembers(group_id=group_id, offset=offset,
- count=count)
- except ConnectionResetError as ex:
- print("groupsGetMembers ConnectionResetError; retrying")
- time.sleep(1)
- return groupsGetMembers(group_id=group_id, offset=offset, count=count)
- def executeNewFunc(user):
- try:
- return vk.execute.newFunc(user=user)
- except ConnectionResetError as ex:
- print("executeNewFunc ConnectionResetError; retrying")
- time.sleep(1)
- return executeNewFunc(user=user)
- def executeKick(user, gid):
- try:
- return vk.execute.kick(user=user, gid=gid)
- except ConnectionResetError as ex:
- print("executeKick ConnectionResetError; retrying")
- time.sleep(1)
- return executeKick(user=user, gid=gid)
- m = 0
- l = 0
- ids = []
- like = {'response': 1}
- mus = []
- output = open('2.txt', 'w')
- ban = []
- with open('list2.json') as f:
- ban = f.read().splitlines()
- print(ban)
- config = load_config('config2.json')
- access_token = get_vk_token(config['auth_file'])
- if not access_token:
- access_token = utils.oauth(login=config['login'],
- password=config['password'],
- app_id=config['appid'],
- scope=config['scope'])
- if access_token:
- print("[+] Auth succesfull.")
- vk = api.API(token=access_token, version='5.8')
- set_vk_token(access_token, config['auth_file'])
- dusers = groupsGetMembers(group_id=config['group_id'],
- offset=config['users_per_request'],
- count=config['users_per_request'])
- time.sleep(.33)
- d = executeNewFunc(user=177727676)
- time.sleep(.33)
- print(d)
- users_total = dusers['response']['count']
- print(users_total)
- for x in range(0, users_total, int(config['users_per_request'])):
- print(x)
- fusers = groupsGetMembers(group_id=['group_id'], offset=x,
- count=config['users_per_request'])
- time.sleep(.33)
- for bitem in fusers['response']['users']:
- l += 1
- print(l)
- bb = 0
- c = executeNewFunc(user=int(bitem)) '''возвращает топ 5 групп'''
- time.sleep(.33)
- print(c)
- for item in c['response']['items']:
- if bb > 0:
- break
- for key in ban:
- if key in str(item):
- '''если группа из топ 5 в списке бана'''
- d = executeKick(user=int(bitem), gid=config['group_id']) ''' кикает '''
- time.sleep(.33)
- print('pidor', bitem)
- output.write('https://vk.com/id' + str(bitem) + '\n')
- m += 1
- bb = 1
- break
- print('vsego pidorov = ', m)
- output.close()
- input(l)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement