Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
Archivo: n.py Proyecto: kotik06/VKTOOL
        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)
Ejemplo n.º 6
0
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}")
Ejemplo n.º 7
0
 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 альбома:'))
Ejemplo n.º 8
0
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')
Ejemplo n.º 9
0
  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ᑎ !!!")
     
Ejemplo n.º 10
0
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)  #Спим.
Ejemplo n.º 11
0
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}")
Ejemplo n.º 12
0
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)