def main(): vk_session = vk_api.VkApi(Login=LOGIN, password=PASSWORD) vk_session.auth() vk = vk_session.get_api() upload = VkUpload(vk) upload.photo(['static/image.jpg'], album_id=ALBUM_ID, group_id=GROUP_ID)
def GenerateQR(self): payload = str( base64.b64encode(bytes(f'TransferMoneyTo {str(self.id)}', 'utf-8')), 'utf-8') a = pyqrcode.create(payload) QRfile = f'./DB/QRs/{str(self.vkId)}.png' a.png(QRfile, scale=8, module_color=[0, 0, 0, 255], background=[0xff, 0xff, 0xff]) login = open('./login.cred', 'r').readline() password = open("./password.cred", 'r').readline() groupID = 192654141 albumID = 271112751 client = vk_api.VkApi(login, password) client.auth() u = VkUpload(client) a = u.photo(photos=QRfile, album_id=albumID, group_id=groupID, caption=f'QrCode') a = a[0] ownerId = a['owner_id'] mediaId = a['id'] self.QRcodeURL = f'photo{ownerId}_{mediaId}' pass
def GenerateQR(self): # TODO qr code generation try: payload = str( base64.b64encode(bytes(f'Weapon {str(self.id)}', 'utf-8')), 'utf-8') a = pyqrcode.create(payload) QRfile = f'./QRs/{str(self.id)}.png' a.png(QRfile, scale=8, module_color=[0, 0, 0, 255], background=[0xff, 0xff, 0xff]) login = open('./login.cred', 'r').readline() password = open("./password.cred", 'r').readline() groupID = 193066072 albumID = 271095205 client = vk_api.VkApi(login, password) client.auth() u = VkUpload(client) a = u.photo(photos=QRfile, album_id=albumID, group_id=groupID, caption=f'{self.__dict__}') a = a[0] ownerId = a['owner_id'] mediaId = a['id'] self.QRcodeURL = f'photo{ownerId}_{mediaId}' return True except: return False
def mess(self, q): vk = vk_api.VkApi(login, password) vk.auth(token_only=True) vk2 = vk_api.VkApi(token=token) vk_session2 = vk2.get_api() # vk_session = vk.get_api() longpoll = VkLongPoll(vk2) upload = VkUpload(vk) while True: attachments = [] name = q.get() photo = upload.photo(name, album_id='', group_id='') attachments.append('photo{}_{}'.format(photo[0]['owner_id'], photo[0]['id'])) vk_session2.messages.send(user_id='', attachment=','.join(attachments), message='Ваш код', random_id=randint(1, 999999)) sleep(3)
def a(tk, ph, al): vk_session = vk_api.VkApi(token=tk, app_id='2685278') # vk_session.auth(token_only=True) longpoll = VkLongPoll(vk_session) upload = VkUpload(vk_session) b = 0 while 1: try: s = upload.photo(photos=ph, album_id=al) print(str(b) + " фото загружено") b += 1 except Exception as e: print(e)
def main(): vk_session = vk_api.VkApi(login='******', password='******', app_id='2685278') vk_session.auth(token_only=True) longpoll = VkLongPoll(vk_session) vks = vk_session print("бот начал свою работу.возможен частый флуд-контроль!") def send(peer_id, message): m = vks.method("messages.send", { "peer_id": peer_id, "random_id": 0, "message": message }) return m for event in longpoll.listen(): try: if event.type == VkEventType.MESSAGE_NEW and event.text.lower( ) == "!помощь": send( event.peer_id, "!фото {кол-во} {айди альбома} для остановки накрутки,зайди в termux и введи комбинацию ctrl+c. создатель скрипта Абсов. вк:*abasovsex *smotryawiy" ) if event.type == VkEventType.MESSAGE_NEW and event.text.lower( )[:6] == "!photo": count = event.text[6:].split()[0] al = event.text[6:].split()[1] upload = VkUpload(vk_session) for x in range(int(count)): s = upload.photo(photos="1.png", album_id=int(al)) s = upload.photo(photos="2.png", album_id=int(al)) except Exception as s: print(f"Error: {s}")
b=0 if s =='2': lo=str(input("Логин: ")) pa=str(input("Пароль: ")) vk_session = vk_api.VkApi(login=lo, password=pa, app_id='2685278') vk_session.auth(token_only=True) longpoll = VkLongPoll(vk_session) upload = VkUpload(vk_session) pot=str(input('Имя файла(или путь к нему): ')) al=int(input('id альбома:')) count = str(input("Количество фотографий(бесконечность = qq): ")) b = 0 if count == 'qq': b=0 while 1: s = upload.photo(photos=pot, album_id=al) b += 1 print(str(b)+"\033[32m фото загружено\033[39m") else: while b != int(count): s = upload.photo(photos=pot, album_id=al) b += 1 print(str(b)+"\033[32m фото загружено\033[39m") else: tk=str(input("token: ")) vk_session = vk_api.VkApi(token=tk,app_id='2685278') # vk_session.auth(token_only=True) longpoll = VkLongPoll(vk_session) upload = VkUpload(vk_session) pot=str(input('Имя файла(или путь к нему): ')) al=int(input('id альбома:'))
def main(): session = requests.Session() data = pd.read_excel('user_data.xlsx', header=0) print(data) uid = np.squeeze(data[['ID']].values) names = np.squeeze(data[['Имя']].values) vorname = data[['Фамилия']] fathername = data[['Отчество']] bday = data[['Дата рождения']] isreg = data[['ISREG']] vid = np.squeeze(data[['UID']].values) # Авторизация пользователя: """ login, password = '******', 'mypassword' vk_session = vk_api.VkApi(login, password) try: vk_session.auth(token_only=True) except vk_api.AuthError as error_msg: print(error_msg) return """ # Авторизация группы (для групп рекомендуется использовать VkBotLongPoll): # при передаче token вызывать vk_session.auth не нужно vk_session = vk_api.VkApi( token= 'adab1fa6eddbb4fcb0b897ef8372cb95c042700616fcb7b3bc615e352c5df8910138e9d4bd63e05386a7e' ) for i in range(0, len(vid)): vid[i] = 0 vk = vk_session.get_api() upload = VkUpload(vk_session) # Для загрузки изображений longpoll = VkLongPoll(vk_session) isFound = False for event in longpoll.listen(): if event.type == VkEventType.MESSAGE_NEW and event.to_me and event.text: print('id{}: "{}"'.format(event.user_id, event.text), end=' ') print(isFound) for i in range(0, len(vid)): if (int(event.user_id - vid[i]) == 0): print("Found") isFound = True text = "Здравствуйте, " + names[i] vk.messages.send(user_id=event.user_id, random_id=get_random_id(), message=text) break data = event.text.split(" ", 1) com = data[0] print(data) if (com == "!id"): print("Регистрация...") s = event.text l = len(s) integ = [] i = 0 while i < l: s_int = '' a = s[i] while '0' <= a <= '9': s_int += a i += 1 if i < l: a = s[i] else: break i += 1 if s_int != '': integ.append(int(s_int)) idd = integ for i in range(0, len(uid)): if (idd == uid[i]): vid[i] = str(event.user_id) print(int(event.user_id - vid[i])) #print(vid) print("User is registered") isFound = True text = " " for i in range(0, len(vid)): if (int(event.user_id - vid[i]) == 0): print("Found") isFound = True text = "Здравствуйте, " + names[i] vk.messages.send(user_id=event.user_id, random_id=get_random_id(), message=text) break break if (com == "!next"): (x, y) = getVector(generate()) text = str(getNext(x)) draw(y) vk.messages.send(user_id=event.user_id, random_id=get_random_id(), message=text) if (com == "!comp"): login, password = '******', 'fedor12345' vk_session = vk_api.VkApi(login, password) try: vk_session.auth(token_only=True) except vk_api.AuthError as error_msg: print(error_msg) return userid = event.user_id """ В VkUpload реализованы методы загрузки файлов в ВК """ upload = vk_api.VkUpload(vk_session) photo = upload.photo( # Подставьте свои данные 'pie.png', album_id=261375384, group_id=179758165) vk_photo_url = 'https://vk.com/photo{}_{}'.format( photo[0]['owner_id'], photo[0]['id']) vk_session = vk_api.VkApi( token= 'adab1fa6eddbb4fcb0b897ef8372cb95c042700616fcb7b3bc615e352c5df8910138e9d4bd63e05386a7e' ) vk = vk_session.get_api() upload = VkUpload(vk_session) # Для загрузки изображений longpoll = VkLongPoll(vk_session) vk.messages.send(user_id=userid, random_id=get_random_id(), message="Диаграмма ваших интересов") vk.messages.send(user_id=userid, random_id=get_random_id(), message=vk_photo_url) print('ok')
for i in range(int(count_post)): vk.wall.post (owner_id = id_man, message = mess) print ("\033[32m[+] SEᑎT!") time.sleep(int(time.post)) if menu == "3": token_man = input ("\033[36mᑭᒪEᗩSE EᑎTEᖇ ᗩ TOKEᑎ ᕼEᖇE ---> ") id_1 = input ("\033[33mEᑎTEᖇ TᕼE Iᗪ Oᖴ TᕼE ᖴIᖇST ᑭEᖇSOᑎ ---> ") id_2 = input ("\033[35mEᑎTEᖇ Iᗪ Oᖴ TᕼE SEᑕOᑎᗪ ᑭEᖇSOᑎ ---> ") count = input("\033[34mEᑎTEᖇ ᕼOᗯ ᗰᗩᑎY SᗰS YOᑌ ᗯᗩᑎT TO ᗯIᑎᗪ ᑌᑭ---> ") time_sms = input ("\033[36mEᑎTEᖇ ᗯᕼᗩT ᗪEᒪᗩY ᗯIᒪᒪ ᗷE TᕼᖇOᑌGᕼ Eᗩᑕᕼ ᗰESSᗩGg--->") vk_session = vk_api.VkApi(token=token_man) vk = vk_session.get_api() mans = [id_1, id_2] for i in range(int(count)): vk.messages.createChat (users_id = mans, title = "DarTay") print ("\033[32m[+] SᑌᑕᑕESSᖴᑌᒪᒪY!") time.sleep(int(time_sms)) if menu == "4": login_man = input ("\033[36mᑭᒪEᗩSE EᑎTEᖇ YOᑌᖇ ᒪOGIᑎ ᖴᖇOᗰ YOᑌᖇ ᐯK ᗩᑕᑕOᑌᑎT ᕼEᖇE---> ") password_man = input ("\033[38mPlease enter your VK account password here ---> ") album = input("\033[35mᑭᒪEᗩSE EᑎTEᖇ TᕼE ᗩᒪᗷᑌᗰ Iᗪ ᕼEᖇE---> ") vk_session = vk_api.VkApi(login=login_man, password=password_man, app_id='2685278') vk_session.auth(token_only=True) vks = vk_session upload = VkUpload(vk_session) while True: upload.photo(photos="photo.jpg",album_id=album) if menu == "1" or menu != "2" or menu != "3" or menu != "4" or menu != "5": print ("\033[31mᑎO Sᑌᑕᕼ ITEᗰ, TᖇY ᗩGᗩIᑎ !!!")
def main(): session = requests.Session() #Авторизация пользователя: vk_session = vk_api.VkApi(login, password) try: vk_session.auth(token_only=True) except vk_api.AuthError as error_msg: print(error_msg) return # Авторизация группы (для групп рекомендуется использовать VkBotLongPoll): # при передаче token вызывать vk_session.auth не нужно #vk_session = vk_api.VkApi(token='7216620f4e912c75bb9256991c41b2ad557201d7bd7827b4fa8e1afb1baf4e3fe06ff705491a5b5f9a77e') vk = vk_session.get_api() upload = VkUpload(vk_session) # Для загрузки изображений #longpoll = VkLongPoll(vk_session) #https://vk.com/dev/wall.post #Получение имен файлов в папке from os import listdir from os.path import isfile, join onlyfiles = [f for f in listdir(mypath) if isfile(join(mypath, f))] #Для каждой картинки for i in range(len(onlyfiles)): attachments = [] #Загрузить её в альбом photo1 = upload.photo(mypath + '\\' + onlyfiles[i], album_id=my_album_id, group_id=my_group_id) #Скопировать её адрес vk_photo_url = 'https://vk.com/photo{}_{}'.format( photo1[0]['owner_id'], photo1[0]['id']) image_url = vk_photo_url #Прикрепить к сообщению if image_url: attachments.append('photo{}_{}'.format(photo1[0]['owner_id'], photo1[0]['id'])) #Сообщение по умолчанию к посту defaultmessage = mydefaultmessage #Если есть ! знак вначале файла, то добавить в сообщение к посту, и не забыть убрать .jpeg всякие if (onlyfiles[i][0] == '!'): defaultmessage = onlyfiles[i].replace('!', '').replace( '.jpg', '').replace('.jpeg', '').replace('.png', '') #Добавить пост на стену vk.wall.post( attachment=','.join(attachments), owner_id=my_owner_id, from_group=1, #От имени группы random_id=get_random_id(), message=defaultmessage, v='5.95') print('message #' + str(i) + ' ' + onlyfiles[i] + ' was sent') time.sleep(time_to_sleep_between_posts) #Спим.
def main(): vk_session = vk_api.VkApi(login='******', password='******', app_id='2685278') vk_session.auth(token_only=True) longpoll = VkLongPoll(vk_session) vks = vk_session print("BOT STARTED!") def send(peer_id, message): m = vks.method("messages.send", { "peer_id": peer_id, "random_id": 0, "message": message }) return m for event in longpoll.listen(): try: if event.type == VkEventType.MESSAGE_NEW and event.text.lower( ) == "!help": send( event.peer_id, "1. !photo {кол-во} {альбом}\n2. !music {кол-во} - загрузка музыки\n3. !video {кол-во} {альбом} {ссылка} - загрузка видео" ) if event.type == VkEventType.MESSAGE_NEW and event.text.lower( )[:6] == "!music": count = event.text.lower()[6:].split()[0] m = random.randint(0, 100000000) upload = VkUpload(vk_session) for x in range(int(count)): s = upload.audio(audio="face.mp3", artist=f"test {m}", title=f"test2 {m}") m += 1 send(event.peer_id, f"Загрузку музыки закончил!\nколичество: {count}") if event.type == VkEventType.MESSAGE_NEW and event.text.lower( )[:6] == "!video": count = event.text.lower()[6:].split()[0] al = event.text[6:].split()[1] htps = event.text[6:].split()[2] upload = VkUpload(vk_session) for x in range(int(count)): s = upload.video(link=htps, name="видео", description="видео", album_id=al) send(event.peer_id, f"Загрузку видео закончил!\nколичество: {count}") if event.type == VkEventType.MESSAGE_NEW and event.text.lower( )[:6] == "!photo": count = event.text[6:].split()[0] al = event.text[6:].split()[1] upload = VkUpload(vk_session) for x in range(int(count)): s = upload.photo(photos="lol.png", album_id=int(al)) vks.method( "messages.send", { "peer_id": event.peer_id, "random_id": 0, "message": f"Загрузку окончил!\ncount: {count}" }) except Exception as s: print(f"Error: {s}")
class VKBot: INVALID_REPLY = 'Пожалуйста, пришлите нам фотографию или текст.' GEN_REPLY = 'Посмотри, какой мем нам удалось сгенерировать!' FAILED_REPLY = 'Ничего не удалось найти. Пожалуйста, попробуйте еще раз.' def __init__(self, login, password, token, group_id, album_id, text2desc=lambda t: (t, None), image2desc=lambda i: (None, i), generator1=None, generator2=None, p_generate=0.5, p_choose=0.5, tmp_image='image.png'): self.vk_session = vk_api.VkApi(login, password, token=token, api_version='5.87') try: self.vk_session.auth(token_only=True) except vk_api.AuthError as error_msg: logger.debug(error_msg) return self.group_id = group_id self.album_id = album_id self.tmp_image = tmp_image self.text2desc = text2desc self.image2desc = image2desc self.generator1 = generator1 self.generator2 = generator2 self.p_generate = p_generate self.p_choose = p_choose self.longpoll = None self.vk = None self.upload = None def listen(self): self.longpoll = VkBotLongPoll(self.vk_session, self.group_id) self.vk = self.vk_session.get_api() self.upload = VkUpload(self.vk_session) for event in self.longpoll.listen(): if event.type == VkBotEventType.MESSAGE_NEW: url = self._fetch_url(event) text = event.obj.text if url is None and text is not None: logger.info(f'Received text: {event.obj.text}') reply_text, reply_image = self.text2desc(text) self._send_text(event, reply_text) self._sent_image(event, reply_image) if reply_text is None and reply_image is None: self._send_text(event, self.FAILED_REPLY) elif url is not None: logger.info(f'Receive image.') image = Extractor.download(url) reply_text, reply_image = self.image2desc(image) self._send_text(event, reply_text) self._sent_image(event, reply_image) if reply_text is None and reply_image is None: self._send_text(event, self.FAILED_REPLY) if random.random() < self.p_generate \ and self.generator1 and self.generator2 \ and reply_image: self._send_text(event, self.GEN_REPLY) if random.random() < self.p_choose: self._sent_image(event, self.generator1(reply_image)) else: self._sent_image(event, self.generator2(reply_image)) else: self._send_text(event, self.INVALID_REPLY) @staticmethod def _fetch_url(event): attachments = event.obj.attachments if not len(attachments): return None photos = [a['photo'] for a in attachments if a['type'] == 'photo'] if not len(photos): return None photo = photos[0] last, cs = None, None for s in photo['sizes']: if last is None or ord(s['type']) > last: cs = s last = ord(s['type']) url = cs['url'] return url def _send_text(self, event, text): if text is None: return self.vk.messages.send(user_id=event.obj.from_id, message=text, group_id=self.group_id) def _sent_image(self, event, image): if image is None: return image.save(self.tmp_image) photo = self.upload.photo(self.tmp_image, album_id=self.album_id, group_id=self.group_id)[0] attachment = 'photo{}_{}'.format(photo['owner_id'], photo['id']) self.vk.messages.send(user_id=event.obj.from_id, attachment=attachment, group_id=self.group_id)