Пишем спамер стикеров вк в 30 строк кода на python

  • Гость, группы пользователей ещё в процессе настройки, поэтому многие функции пока что недоступны. Приносим свои извинения за возможные неудобства.

Wrong

Holy
10 Мар 2020
17
26
40
Вся информация представлена в ознакомительных целях и не несет в себе призыва к действию.
Одна из популярнейших соц.сетей Вконтакте в последние годы ведет политику ограничения к своему API. Наглядный пример - полное отсутствие возможности отправлять сообщения при авторизации с аккаунта.
Это натолкнуло меня на мысль написания небольшогo, но эффективного спамера. Итак, для этого нам потребуется python, библиотека vk_api и чуточку свобоного времени.
Итак, для начала потребуется создать некоторое количество пустых групп. Сколько именно? Зависит от желаемой мощности спамера. Для каждой из них получить токен и записать в отдельный текстовый файл построчно, то бишь по одному токену на каждую строку, без пробелов и сторонних символов.
По окончанию данной процедуры переходим к установке библиотеки. Открываем консоль и пишем
pip install vk_api
Когда все зависимые библиотеки будут установлены, можем перейти к написанию кода. Сразу оговорюсь, использовал python 3.7.4
Вначале следует импортировать нужные модули
Python:
import vk_api
from random import choice
Пока что все понятно и пояснений не требует.
Далее создаем две переменные и читаем содержимое файла с токенами.
Python:
path='полный путь к текстовому файлу с токенами'
stickers_ids=(261,274,244,302,631,335,414,432,376,351,390,363,452,469,484,229,535,197,579,497)
with open(path,'r') as file:
    tokens=file.read().splitlines()
В небольшом цикле задаем пользовательский ввод
Python:
while True:
    owner_id=int(input('Введите id получателя: '))
    j=input(f'id получателя равен {owner_id} , верно? (Y/n)\n')
    if j.lower()=='y':
        del j
        break
    else:
        print('Отмена, вводим новые значения')
В поле id получателя стоит вводить именно цифровое значение, а не короткую ссылку на сайте. К примеру для id123456 нужно вводить 123456. Как узнать это значение если, к примеру, у пользователя короткая ссылка? Ну, думаю, тут разберутся, все уже взрослые мальчики и девочки.
Далее происходит вся магия. В основном цикле обрабатывается работа с библиотекой.
Python:
for i in tokens:
    n=0
    try:
        print(f'Работаем с токеном номер {tokens.index(i)+1} из всех {len(tokens)}')
        count=int(input('Введите количество отправляемых сообщений для данного токена (не рекомендуется больше 200): '))
        vk=vk_api.VkApi(token=i)
        vk._auth_token()
        vk.get_api()
        print('API успешно получен, начинаем отправку')
        for j in range(count):
            vk.method('messages.send',{"user_id": owner_id, "random_id":0,"attachment":f'doc-165897409_472912{choice(stickers_ids)}'})
            n+=1
            print(f'{n} сообщений из {count} отправлено успешно')
    except:
        print('Что-то пошло не так, возможно вы указали неверный id\nПерезапустите программу с корректными данными')
        break
В итоге финальный код выглядит так:
Python:
import vk_api
from random import choice
path='полный путь к текстовому файлу с токенами'
stickers_ids=(261,274,244,302,631,335,414,432,376,351,390,363,452,469,484,229,535,197,579,497)
with open(path,'r') as file:
    tokens=file.read().splitlines()
while True:
    owner_id=int(input('Введите id получателя: '))
    j=input(f'id получателя равен {owner_id} , верно? (Y/n)\n')
    if j.lower()=='y':
        del j
        break
    else:
        print('Отмена, вводим новые значения')
for i in tokens:
    n=0
    try:
        print(f'Работаем с токеном номер {tokens.index(i)+1} из всех {len(tokens)}')
        count=int(input('Введите количество отправляемых сообщений для данного токена (не рекомендуется больше 200): '))
        vk=vk_api.VkApi(token=i)
        vk._auth_token()
        vk.get_api()
        print('API успешно получен, начинаем отправку')
        for j in range(count):
            vk.method('messages.send',{"user_id": owner_id, "random_id":0,"attachment":f'doc-165897409_472912{choice(stickers_ids)}'})
            n+=1
            print(f'{n} сообщений из {count} отправлено успешно')
    except:
        print('Что-то пошло не так, возможно вы указали неверный id\nПерезапустите программу с корректными данными')
        break
Сохраняем в .py файл, запускаем через консоль. Спасибо за внимание, буду рад любой критике.
 
  • Лайк
  • Люблю
Реакции: DEXTER и Wolf