СТАТЬЯ

Простой спаммер на Python - забавы лишь ради

init_error
init_error Newbie · 16 сообщений
Подписаться
26,8 тыс.
[ обложка статьи ]
Режим чтения
Прежде чем разбирать полноценный скрипт с меню и выбором режима, стоит сказать: спаммер на Python можно ужать буквально до нескольких строк. В сети популярны минималистичные варианты, где весь «бот» — это цикл с pyautogui.typewrite() и pyautogui.press('enter') после короткой задержки time.sleep(). Такой подход отлично подходит, чтобы быстро понять суть автоматизации ввода, но у него есть минус: нельзя выбрать между отправкой одного сообщения и целого текста, нет задержки на переключение окна и не с чем экспериментировать. Ниже мы пойдём чуть дальше и соберём удобную версию с «панелью управления», которую при желании легко доработать под себя.

Вечер в хату чуваки и тянки!

1. Предисловие​

Сегодня будем писать простенький скрипт на Питоне, который будет проводить спам атаку в сторону нашей жертвы.

Механизм работы кода прост, он пишет выбранное нами слово и нажимая 'Enter' отправляет его нашей жертве.

Инструкция написана так, чтобы даже ребенок понимал каждый шаг, так что особых знаний тут не надо, кроме умения пользоваться мышкой и клавиатурой.

2. Подготовка​

Сначала создадим папку и там же два блокнота, один с них сохраняем, дав название "script.py", второй называем, как "text.txt".

В первый файл будем писать наш код, в второй файл вставим текст на ваш выбор (ТОЛЬКО НА ЛАТИНИЦЕ).

3. Приступаем​

Импортируем модули для автоматизации и заморозки сценария:
Python:
import time # Модуль для работы с временем.
import pyautogui # Модуль для управления мышью и клавиатурой, точнее главный модуль в нашем программном коде.
Модуль "Time" нужен нам для того, чтобы мы успели активировать поле ввода, прежде чем скрипт начнет спамить.

Теперь создаем первую функцию, роль которой "стрелять" одним сообщением N-ое количество раз:
Python:
def SendMessage():
    time.sleep(2) # Замораживает скрипт на 2 секунды, чтобы мы успели активировать поле ввода.
    message = "U ARE UGLY" # Сообщение которое мы хотим отправлять пишем в кавычках.
    iterations = 1000 # 1000 раз отправляет данное сообщение.

    for i in range(iterations):
        pass

    while iterations > 0:
        iterations -= 1
 
        pyautogui.typewrite(message.strip()) # Пишет слово/текст написанный в переменной "message"
        pyautogui.press('enter') # и нажимая Enter, отправляет его нашей "жертве".
    print("Вся обойма попала в нашу жертву!")
Затем создаем вторую функцию, которая уже отправляет текст вписанный в наш блокнот:
Python:
def SendText():
    time.sleep(2)
    with open('text.txt') as f: # Открывает блокнот с названием text.txt (документ с содержанием того, что мы хотим отправлять).
        lines = f.readlines()
    for line in lines:
        pyautogui.typewrite(line.strip()) # В этой функции оно будет писать текст с каждой строки
        pyautogui.typewrite('enter') # и так же отправлять его "жертве".
    print("Дело сделано, осталось успокоить нашу жертву ^_^")
Подходим уже к концу, осталось лишь добавить "панель управления":
Python:
print('~'*50)
print("[1] ===> Стрелять одним сообщением указанным в переменной ")
print("[2] ===> Отправлять строки из блокнота ")
print('~'*50)
option = input("[Выбирай функцию]===> ")

if option == "1":
    SendMessage()
elif option == "2":
    SendText()
else:
    print('Выбирай функция 1 или 2!')
4. Заканчиваем​

Осталось лишь найти текст песни/стих или что-то там еще на английском языке и вставить его в наш "text.txt".

Для тех кому лень найти:
They say, oh my god, I see the way you shine

Take your hands, my dear, and place them both in mine

You know you stopped me dead while I was passing by

And now I beg to see you dance just one more time

Ooh I see you, see you, see you every time

And, oh my, I, I, I like your style

You, you make me, make me, make me wanna cry

And now I beg to see you dance just one more time

So they say

Dance for me

Dance for me

Dance for me oh oh oh

I've never seen anybody do the things you do before

They say

Move for me

Move for me

Move for me ay ay ay

And when you're done, I'll make you do it all again

I said, oh my god, I see you walking by

Take my hands, my dear, and look me in my eyes

Just like a monkey I've been dancing my whole life

But you just beg to see me dance just one more time

Ooh I see you, see you, see you every time

And, oh my, I, I, I,

I like your style

You, you make me, make me, make me wanna cry

And now I beg to see you dance just one more time

So they say

Dance for me

Dance for me

Dance for me oh oh oh

I've never seen anybody do the things you do before

They say

Move for me

Move for me

Move for me ay ay ay

And when you're done I'll make you do it all again

They say

Dance for me

Dance for me

Dance for me oh oh oh

I've never seen anybody do the things you do before

They say

Move for me

Move for me

Move for me ay ay ay

And when you're done I'll make you do it all again

They say

Dance for me

Dance for me

Dance for me oh oh oh

I've never seen anybody do the things you do before

They say

Move for me

Move for me

Move for me ay ay ay

And when you're done I'll make you do it all again

They say

Dance for me

Dance for me

Dance for me oh oh oh

I've never seen anybody do the things you do before

They say

Move for me

Move for me

Move for me ay ay ay

And when you're done I'll make you do it all again

All again
По неизвестным мне причинам, скрипт НЕ пишет слова или текст на кириллице, только на латинском.

Чтобы остановить работу нашей машины, нажмите на командую строку и выполните комбинацию Ctrl + C, либо просто закройте командую строку.

Какой-то серьезной опасности или важной опции данный скриптик не выполняет, больше предназначен для забавы.

Идею написания такого я взял у одного иностранца которого именно уже не помню, а сам выполняемый файл был написан мной, так что эта статья её первоисточник :D

Также приложил видео с обзором работы скрипта:


Это моя первая статья и в Python'e я лишь новичок, так что строго не судите.

"Цветная" версия скриптика:
Python:
from termcolor import colored
import subprocess
import time
import pyautogui
subprocess.call('', shell=True)

def SendMessage():
    time.sleep(2)
    # The message you want to send
    message = "U ARE UGLY"
    # How many times do i send a message?
    iterations = 5

    for i in range(iterations):
        pass

    while iterations > 0:
        iterations -= 1

        pyautogui.typewrite(message.strip())
        pyautogui.press('enter')

    print('Done, high five')
def SendScript():
    time.sleep(2)
    with open('script.txt') as f:
        lines = f.readlines()
    for line in lines:
        pyautogui.typewrite(line.strip())
        pyautogui.press('enter')

    print('It was hard, but we did it, high five.')

print(colored('~'*50, 'red'))
print(colored('Welcome bro \(O V O)/', 'green'))
print(colored("Let's make fun of someone?", 'green'))
print(colored('~'*50, 'red'))


print(colored("\t[1] ===> Resend the same message (─__─)", 'magenta' ))
print(colored("\t[2] ===> Send titles from the script \(v _ v)/", 'magenta'))

print(colored('~'*50, 'red'))
print('\n')
option = input(colored('[Choose an option]==> ', 'cyan'))

if option == "1":
    SendMessage()
elif option == "2":
    SendScript()
else:
    print(colored('Choose a function! ¯\_(-_-)_/¯', 'red'))
Полезно · 7

Комментарии

9
Неплохо для начала. Осталось привести заметку в читабельный вид
 
  • Нравится
Реакции: YagamiLight и init_error
2
  • Нравится
Реакции: YagamiLight
1
Благодарю, а как мне привести его в читабельный вид? Что-то не нашел как его редактировать.

Правила оформления статей

Добавьте скриншотов, разделите на абзацы и всё прочее. Инструкции можете найти по ссылочке, что вверху. Посмотрите, как оформляют другие авторы ,не обязательно следовать чётко шлаблону, главное , дабы всё было читабельно и эстетично красиво. Авторство в первую очередь подразумевает полёт фантазии во время создания своего творения, индивидуальность, творите, созидайте - эволюцюонируйте.
 
Последнее редактирование:
  • Нравится
Реакции: Diablo666, f0g, YagamiLight и ещё 1 человек
4
  • Нравится
Реакции: init_error
1
  • Нравится
Реакции: Сергей Попов
1
Привет, я весьма не опытный пользователь питона или python`a кому как удобнее. Я попробовал написать данный скрипт но почему то стока выдает ошибку No module named 'pyautogui' как это исправить ?
 
pip install ;)
Привет, я весьма не опытный пользователь питона или python`a кому как удобнее. Я попробовал написать данный скрипт но почему то стока выдает ошибку No module named 'pyautogui' как это исправить ?
 
Это все можно было сделать в 6 строк