This repository has been archived by the owner on Oct 24, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
Twitter_bomber.py
103 lines (76 loc) · 5.66 KB
/
Twitter_bomber.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
from selenium import webdriver
import os
from webdriver_manager.chrome import ChromeDriverManager
import argparse
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import time
import sys
from selenium.webdriver.chrome.options import Options
def banner():
print('''
_______ __ __ ____ ____ __ __ ____
|__ __| \ \ / / | _ \ / __ \ | \/ | | _ \ /\
| | \ \ /\ / / ___ __ _ _ __ | |_) | | | | | | \ / | | |_) | / \
| | \ \/ \/ / / __| / _` | | '__| | _ < | | | | | |\/| | | _ < / /\ \
| | \ /\ / \__ \ | (_| | | | | |_) | | |__| | | | | | | |_) | / ____ \ ☢️
|_| \/ \/ |___/ \__,_| |_| |____/ \____/ |_| |_| |____/ /_/ \_\
By: akshaykalucha3
Note : I won't be responsible for any damage caused by this script, Use at your own risk
''')
parser = argparse.ArgumentParser(description='Bomb twitter user with spam messages')
""" 4 Step:
cautain: be sure your connection is fast and take no more than 4-5sec to enter username of the victim as chrome driver is stateless
and opening a new url after a interval of seconds may log you out of your twitter account.
1) run command python Twitter_bomber.py -u *your_twitter_username* -p *your_twitter_password*
2) enter correct username of person you want to spam, make sure his twitter messages are open, after message screen is opened,
minimize window 7 follow #3
3) press 1 if you want to manually type the message you eant to send; or 2 if you want to export a file and extract message from there
4) enter message count
"""
parser.add_argument('-u', '--username', type=str, required=True, help="twitter username @\ of user, can be his phone number or email")
parser.add_argument('-p', '--password', type=str, required=True, help="twitter password of the user")
args = parser.parse_args()
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("detach", True)
driver = webdriver.Chrome(ChromeDriverManager().install(), options=chrome_options)
def bombMsg(n, txt):
for i in range(n):
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, '#react-root > div > div > div.css-1dbjc4n.r-18u37iz.r-13qz1uu.r-417010 > main > div > div > div > section:nth-child(2) > div.css-1dbjc4n.r-1pz39u2.r-13awgt0 > div > div > div > div > aside > div.css-1dbjc4n.r-obd0qt.r-18u37iz.r-1uu6nss.r-13qz1uu > div.css-1dbjc4n.r-1kihuf0.r-16y2uox.r-1wbh5a2 > div > div > div > div > div.css-901oao.r-jwli3a.r-6koalj.r-16y2uox.r-1qd0xha.r-a023e6.r-16dba41.r-ad9z0x.r-bcqeeo.r-qvutc0 > div > div > div > div.DraftEditor-editorContainer > div > div > div > div'))).send_keys(txt)
SendBtn = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div/section[2]/div[2]/div/div/div/div/aside/div[2]/div[3]')
SendBtn.click()
print("Bombing Complete !!!")
banner()
def attack():
driver.get('https://twitter.com/login')
userId = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div[1]/form/div/div[1]/label/div/div[2]/div/input')
userId.send_keys(args.username)
userPass = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div[1]/form/div/div[2]/label/div/div[2]/div/input')
userPass.send_keys(args.password)
loginBtn = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div[1]/form/div/div[3]/div')
loginBtn.click()
driver.minimize_window()
name = input('Enter the twitter name of victim: ')
if len(name) >= 3:
pass
else:
name = input('Enter the name of victim correctly: ')
### GET VICTIM PROFILE PAGE ###
driver.get(f'https://twitter.com/{name}')
time.sleep(1)
driver.maximize_window()
## GET MESSAGE INBOX ###
messageLink = driver.find_element_by_xpath('//*[@id="react-root"]/div/div/div[2]/main/div/div/div/div[1]/div/div[2]/div/div/div[1]/div/div[1]/div/div[2]')
messageLink.click()
#### SEND MESSAGE IN VICTIMS INBOX ###
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="react-root"]/div/div/div[2]/main/div/div/div/section[2]/div[2]/div/div/div/div/aside/div[2]/div[2]/div/div/div/div/div[1]/div'))).click()
MsgBx = driver.find_element_by_css_selector('#react-root > div > div > div.css-1dbjc4n.r-18u37iz.r-13qz1uu.r-417010 > main > div > div > div > section:nth-child(2) > div.css-1dbjc4n.r-1pz39u2.r-13awgt0 > div > div > div > div > aside > div.css-1dbjc4n.r-obd0qt.r-18u37iz.r-1uu6nss.r-13qz1uu > div.css-1dbjc4n.r-1kihuf0.r-16y2uox.r-1wbh5a2 > div > div > div > div > div.css-901oao.r-jwli3a.r-6koalj.r-16y2uox.r-1qd0xha.r-a023e6.r-16dba41.r-ad9z0x.r-bcqeeo.r-qvutc0 > div > div > div > div.DraftEditor-editorContainer > div > div > div > div')
Ops = int(input("Select what form of messahe you would like to send: \n Enter [1] to send manual message Enter [2] to import a txt file: "))
if Ops == 1:
Content = input("Enter the message: ")
elif Ops == 2:
fileLoc = input("Enter the file location: ")
instances = int(input("Enter total count: "))
bombMsg(instances, Content)
attack()