Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import time
- import asyncio
- import string
- import sys
- import codecs
- import random
- import socket
- import pickle
- import os
- import pyperclip
- import datetime
- from random import randrange
- from random import randint
- import selenium as se
- from selenium import webdriver
- from selenium.webdriver.common.keys import Keys
- from selenium.webdriver.common.by import By
- from selenium.webdriver.support.ui import WebDriverWait
- from selenium.common.exceptions import NoSuchElementException
- from selenium.webdriver.support import expected_conditions as ec
- from selenium.webdriver.common.action_chains import ActionChains
- import unittest, time, re
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- try:
- dataRead = open('C:\\BOT\\join\\VERIFY_ACCOUNTS\\EXPORT.txt', 'r')
- read_lines = dataRead.readlines()
- username_pw = read_lines[int(str(sys.argv[1]))]
- us = username_pw.split(";")
- print(us[1])
- get = us[1]
- if get[len(get) - 1] == '\n':
- get = get[:-1]
- get = get + "123"
- username1 = us[0]
- password1 = get
- if '\n' in password1:
- password1 = password1[:-1]
- if '\n' in username1:
- username1 = username1[:-1]
- PREFIX_FILE_PATH = 'C:\\BOT\\'
- PREFIX_FILE_PATH_BF = 'C:\\BOT\\'
- PREFIX_FILE_PATH_PICKLE = 'C:\\BOT\\' + "Profile 1"
- serverATMsend = ""
- breaker = False
- memberi = []
- max_number_members = 0
- next_member = 0
- servers_list_check = []
- data = 0
- cnt = 1
- userFile = open(PREFIX_FILE_PATH_BF + "accountConfig.txt", "r")
- configLoad = userFile.readlines()
- username = configLoad[0]
- password = configLoad[1]
- userFile.close()
- serverFile = open(PREFIX_FILE_PATH_BF + "serverProtocolConfig.txt", "r")
- serverLoad = serverFile.readlines()
- IPadress = serverLoad[0]
- portLoader = serverLoad[1]
- serverFile.close()
- messageSend = []
- host = IPadress
- port = int(portLoader)
- print('HOST : ', host)
- print('PORT : ', port)
- oServersF = codecs.open(PREFIX_FILE_PATH_BF + "oservers.txt",'r','utf8')
- oServersX = oServersF.readlines()
- oServersF.close()
- for it in range(0, len(oServersX)):
- itt = oServersX[it]
- if ord(itt[len(itt) - 1]) == ord('\n'):
- itt = itt[:-1]
- if ord(itt[len(itt) - 1]) == ord('\r'):
- itt = itt[:-1]
- oServersX[it] = itt
- cachedKicks = []
- kicksToPerform = []
- def mwconn(host, port):
- try:
- s.connect(('116.203.38.138', port))
- except socket.error as exc:
- print('Caught exception socket.error:' + exc)
- mwconn(host, port)
- iskoristi = False
- async def start_process():
- print('Startujem bota ')
- global iskoristi
- if iskoristi == False:
- iskoristi = True
- await start_bot()
- def init_client():
- print("USAO U INIT")
- global s
- sFileName = PREFIX_FILE_PATH_PICKLE + 'dict.pickle'
- messageConfigure = "GIVE_PICKLE"
- boolForSend = 3
- global messageSend
- while True:
- if boolForSend == 0:
- BUFFER_SIZE = 1024
- s.send(messageConfigure.encode())
- print('Poslao pickleFile request serveru')
- fDownloadFile = PREFIX_FILE_PATH_PICKLE + "dict.pickle"
- with open(fDownloadFile, 'wb') as fw:
- msg = s.recv(BUFFER_SIZE)
- fsize = int(msg.decode('utf-8').strip())
- rsize = 0
- while True:
- data = s.recv(BUFFER_SIZE)
- rsize = rsize + len(data)
- fw.write(data)
- if rsize >= fsize:
- break
- print("Zavrseno skidanje pickle-a")
- messageConfigure = 'GIVE_MESSAGE'
- sFileName = PREFIX_FILE_PATH + 'porukaZaSlanje.txt'
- boolForSend = boolForSend + 1
- time.sleep(0.1) # MORA ZBOG TPP
- continue # MORA ZBOG TPP extra layer
- if boolForSend == 1:
- s.send(messageConfigure.encode())
- print('Poslao messageFile request serveru')
- sData = s.recv(1024)
- fDownloadFile = open(sFileName, "wb")
- while sData:
- if 'done031337' in str(sData):
- break
- fDownloadFile.write(sData)
- sData = s.recv(1024)
- print(str(sData))
- print("Zavrseno skidanje poruke")
- fDownloadFile.close()
- messageFile = open(PREFIX_FILE_PATH + "porukaZaSlanje.txt", "r")
- lineRead = messageFile.readlines()
- for line in lineRead:
- print('PORUKA : ', line, ' ZAVRSENO')
- messageSend.append(line)
- boolForSend = boolForSend + 1
- messageConfigure = 'GIVE_PICKLE2'
- messageFile.close()
- sFileName = PREFIX_FILE_PATH + 'serverMe8mbersConfig.txt'
- time.sleep(0.1)
- continue
- if boolForSend == 2:
- BUFFER_SIZE = 1024
- messageConfigure = 'GIVE_PICKLE2'
- s.send(messageConfigure.encode())
- print('Poslao serverListFile request serveru')
- fDownloadFile = PREFIX_FILE_PATH + "remembServers.pickle"
- with open(fDownloadFile, 'wb') as fw:
- msg = s.recv(BUFFER_SIZE)
- fsize = int(msg.decode('utf-8').strip())
- rsize = 0
- while True:
- data = s.recv(BUFFER_SIZE)
- rsize = rsize + len(data)
- fw.write(data)
- if rsize >= fsize:
- break
- print("Zavrseno skidanje pickle-a 2")
- messageConfigure = 'GIVE_MESSAGE'
- sFileName = PREFIX_FILE_PATH + 'porukaZaSlanje.txt'
- boolForSend = boolForSend + 1
- time.sleep(0.1)
- continue
- if boolForSend == 3:
- messageConfigure1 = 'SET_USER ' + str(username1)
- s.send(messageConfigure1.encode())
- time.sleep(1)
- messageFile = open(PREFIX_FILE_PATH + "porukaZaSlanje.txt", "r")
- lineRead = messageFile.readlines()
- for line in lineRead:
- print('PORUKA : ', line, ' ZAVRSENO')
- messageSend.append(line)
- messageFile.close()
- print('LOGUJEM SE IN...')
- loop = asyncio.get_event_loop()
- loop.run_until_complete(start_process())
- return
- def BMP(s):
- return "".join((i if ord(i) < 10000 else '\ufffd' for i in s))
- def random_string(length):
- return ''.join(random.choice(string.ascii_letters) for m in range(1, length))
- def configure_message(message, length, idx):
- global messageSend
- message = messageSend[idx]
- print('saljem ', message)
- message = message[:-1]
- message1 = ''
- message2 = ''
- messageo = message
- for i in range(1, randint(1, 30)):
- message2 += ''
- messageo = messageo.replace('!!!', message2)
- for i in range(1, randint(1, 50)):
- message1 += ''
- return message + '' + message2
- check_flaw = 0
- def vremePOCETAK(a1):
- end_time = datetime.datetime.now().time().strftime('%H:%M:%S')
- total_time=(datetime.datetime.strptime(end_time,'%H:%M:%S') - datetime.datetime.strptime(a1,'%H:%M:%S'))
- REZULTAT_DELAY = int(total_time.total_seconds())
- return REZULTAT_DELAY
- async def start_bot():
- global cnt
- while True:
- cnt = 0
- print('ZAPOCINJEM NOVU SESIJU')
- RUN_SYSTEM()
- def check_exists_by_xpath(webdriver, xpath):
- try:
- webdriver.find_element_by_xpath(xpath)
- except NoSuchElementException:
- return False
- return True
- def check_exists_by_css(webdriver, xpath):
- try:
- webdriver.find_element_by_css_selector(xpath)
- except NoSuchElementException:
- return False
- return True
- def RUN_SYSTEM():
- options = webdriver.ChromeOptions()
- options.add_argument('headless')
- options.add_argument("--window-size=1920,1080");
- options.add_argument("--disable-gpu");
- options.add_argument("--disable-extensions");
- options.add_argument("--proxy-server='direct://'");
- options.add_argument("--proxy-bypass-list=*");
- options.add_argument("--starzed");
- chrome_options = webdriver.ChromeOptions()
- chrome_options.add_extension("ext.crx")
- chrome_options.add_argument("--disable-gpu")
- chrome_options.add_argument("--disable-gpu-compositing")
- chrome_options.add_argument("--disable-gpu-driver-bug-workarounds")
- chrome_options.add_argument("--disable-gpu-early-init")
- chrome_options.add_argument("--disable-gpu-memory-buffer-compositor-resources")
- chrome_options.add_argument("--disable-gpu-memory-buffer-video-frames")
- chrome_options.add_argument("--disable-gpu-process-crash-limit")
- chrome_options.add_argument("--disable-gpu-program-cache")
- chrome_options.add_argument("--disable-gpu-rasterization")
- chrome_options.add_argument("--disable-gpu-sandbox")
- chrome_options.add_argument("--disable-gpu-shader-disk-cache")
- chrome_options.add_argument("--disable-gpu-vsync")
- chrome_options.add_argument("--disable-gpu-watchdog")
- chrome_options.add_argument("--window-size=960,600")
- prefs = {"profile.managed_default_content_settings.images": 2}
- chrome_options.add_experimental_option("prefs", prefs)
- chrome_options.add_argument("--disable-plugins-discovery");
- chrome_options.add_argument("--disable-bundled-ppapi-flash");
- driver = webdriver.Chrome(chrome_options=chrome_options)
- driver.implicitly_wait(2)
- global username1
- global password1
- print(username1 + ' ' + password1)
- driver.get("https://discordapp.com/")
- driver.find_element_by_link_text("Login").click()
- driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::input[1]").clear()
- driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Email'])[1]/following::input[1]").send_keys(username1)
- driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Password'])[1]/following::input[1]").clear()
- driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Password'])[1]/following::input[1]").send_keys(password1+'\n')
- while check_exists_by_xpath(driver, "(.//*[normalize-space(text()) and normalize-space(.)='Password'])[1]/following::input[1]") == True:
- driver.find_element_by_xpath("(.//*[normalize-space(text()) and normalize-space(.)='Password'])[1]/following::input[1]").send_keys(Keys.ENTER)
- time.sleep(2 + randint(1, 5))
- print("DOSAO")
- serverListReader = open(PREFIX_FILE_PATH + "remembServers.pickle", "rb")
- loadListReader = pickle.load(serverListReader)
- dict_remember = {}
- for passout in loadListReader:
- dict_remember[passout] = 0
- serverListReader.close()
- random_seed = [5, 1 , 2, 3 , 0, 4]
- global check_flaw1
- regularMESSAGE = 'GIVE_DATA'
- formatMESSAGE = ''
- global messageSend
- global s
- global cnt
- if len(messageSend[0]) < 6:
- formatMESSAGE = 'MALA PORUKA, GASIM SE'
- s.send(formatMESSAGE.encode())
- s.close()
- print('GASIM SE')
- print('Duzina poruke '+ str(len(messageSend)))
- sys.exit(0)
- time.sleep(10)
- #driver.minimize_window()
- global_failure = 0
- notJoined = False
- joined = {}
- global serverATMsend
- while True:
- try:
- s.send(regularMESSAGE.encode())
- data = s.recv(2048)
- getSTR = str(data.decode('utf-8').strip())
- if getSTR == 'WAIT':
- print("SPAVAM DOBIO WAIT")
- time.sleep(61)
- continue
- getSTRpart = getSTR.split(";")
- print(getSTR)
- if 'INVITE' == getSTRpart[0]:
- serverATMsend = getSTRpart[2]
- #driver.maximize_window()
- driver.get(getSTRpart[1])
- try:
- res1 = WebDriverWait(driver, 10).until(ec.presence_of_element_located((By.XPATH, "//*[contains(text(), 'Accept Invite')]")))
- driver.execute_script('arguments[0].click()', res1)
- time.sleep(3)
- driver.get("chrome://extensions")
- time.sleep(1)
- driver.get("https://www.discordapp.com/activity")
- print('ATM SERVER = ', serverATMsend, ' ', len(serverATMsend))
- time.sleep(6)
- #driver.minimize_window()
- except Exception as e:
- driver.get("https://www.discordapp.com/activity")
- time.sleep(5)
- #driver.minimize_window()
- time.sleep(5)
- continue
- gl = driver.find_elements_by_xpath(
- "//div[@class='guildSeparator-1X4GQ1']/following-sibling::div[contains(@class, 'guild-1EfMGQ')]/descendant::a")
- res = driver.find_element_by_tag_name("body")
- if cnt >= 110:
- driver.quit()
- return
- start_time = datetime.datetime.now().time().strftime('%H:%M:%S')
- rnd = randint(0, len(random_seed) - 1)
- try:
- WebDriverWait(driver, 20).until(
- ec.presence_of_element_located((By.XPATH, "//div[@class='guildSeparator-1X4GQ1']")))
- except Exception as e:
- print('Nisam nasao GUILDe, gasim se')
- formatMESSAGE = 'BANOVAN SAM, PROVERI'
- s.send(formatMESSAGE.encode())
- s.close()
- sys.exit(1)
- continue
- #print('ZAVRSIO SA GILDAMA ', vremePOCETAK(start_time))
- cursrvs = []
- serverFound = False
- for guild in gl:
- srvr = str(guild.get_attribute('aria-label'))
- cursrvs.append(srvr)
- if srvr in serverATMsend:
- serverFound = True
- if serverFound == False:
- print("KIKOVAN SAM SA SERVERA")
- por = 'LOSE ' + serverATMsend
- s.send(por.encode())
- time.sleep(60)
- continue
- kmpDATA = str(data.decode('utf-8').strip())
- if 'stop' == kmpDATA:
- print('USAO')
- print('Stopirana sesija')
- s.close()
- sys.exit(1)
- return
- if 'napusti' in str(data):
- time.sleep((60 * 60) * 6)
- print('VRATIO SAM SE IZ OKIDANJA')
- if not data:
- time.sleep(5)
- continue
- next_member = str(data.decode('utf-8').strip())
- print('MEMBER DOBIJEN ', next_member)
- time.sleep(1)
- res.send_keys(Keys.CONTROL + 'k')
- time.sleep(2)
- res4 = 0
- bul = True
- if bul == True:
- res4 = driver.find_element_by_xpath(
- "//input[@class='input-2VB9rf']")
- bul = False
- try:
- mname = str(next_member)
- firstPART = mname[:-5]
- secondPART = mname[len(mname) - 4:]
- res4.send_keys('@')
- for j in range(len(mname)):
- res4.send_keys(mname[j])
- time.sleep(0.26)
- except Exception as e:
- formatMESSAGE = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(mname) + '- u na serveru ' + ' FAILURE1 ' + datetime.datetime.now().strftime(
- '%Y-%m-%d %H:%M:%S')
- s.send(formatMESSAGE.encode())
- continue
- try:
- time.sleep(1)
- res4.send_keys(Keys.ENTER)
- time.sleep(1)
- ####driver.find_element_by_css_selector("svg[name=\"Phone\"]").click()
- ####time.sleep(0.2)
- ####driver.find_element_by_xpath("//button[@class='exitButton-1DkWLl button-38aScr lookFilled-1Gx00P colorRed-1TFJan sizeSmall-2cSMqn grow-q77ONN']").click()
- try:
- driver.find_element_by_css_selector("svg[name=\"Phone\"]").click()
- except:
- print(str(e))
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- time.sleep(1)
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- form = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(
- firstPART) + ' FAILURE ' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
- print('Nije moguce poslati poruku ', BMP(firstPART), ' greska = ', str(e),
- datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
- print('RAZLOG: Nisam nasao memebera u listi...')
- s.send(form.encode())
- continue
- time.sleep(1.3)
- try:
- browser.find_element_by_css_selector("button[type='button'][class='secondaryButton-BIo-2g button-38aScr lookFilled-1Gx00P colorPrimary-3b3xI6 sizeXlarge-2yFAlZ grow-q77ONN']").click()
- print("Blocked nibba")
- except:
- try:
- driver.find_element_by_xpath("//button[@class='exitButton-1DkWLl button-38aScr lookFilled-1Gx00P colorRed-1TFJan sizeSmall-2cSMqn grow-q77ONN']").click()
- except:
- print(str(e))
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- time.sleep(1)
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- form = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(
- firstPART) + ' FAILURE ' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
- print('Nije moguce poslati poruku ', BMP(firstPART), ' greska = ', str(e),
- datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
- print('RAZLOG: Nisam nasao memebera u listi...')
- s.send(form.encode())
- continue
- try:
- res3 = driver.find_element_by_xpath("//textarea[@class='textArea-2Spzkt textArea-2Spzkt scrollbarGhostHairline-1mSOM1 scrollbar-3dvm_9']")
- pyperclip.copy('FluxMC is almost released after year of development! Best faction Minecraft server will be released tomorrow! There are also good rewards/giveaways for new players!\nExpected people on release: 300 https://discord.gg/cA2Kuan ')
- #res3.send_keys(configure_message(messageSend, 5, rnd))
- res3.send_keys(Keys.CONTROL, 'c') #copy
- res3.send_keys(Keys.CONTROL, 'v') #paste
- res3.send_keys("\n")
- #end_time = datetime.datetime.now().time().strftime('%H:%M:%S')
- #total_time=(datetime.datetime.strptime(end_time,'%H:%M:%S') - datetime.datetime.strptime(start_time,'%H:%M:%S'))
- #time.sleep(0.1)
- res3.send_keys("\n")
- except:
- print(str(e))
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- time.sleep(1)
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- form = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(
- firstPART) + ' FAILURE ' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
- print('Nije moguce poslati poruku ', BMP(firstPART), ' greska = ', str(e),
- datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
- print('RAZLOG: Nisam nasao memebera u listi...')
- s.send(form.encode())
- continue
- #res3 = driver.find_element_by_xpath(
- # "//textarea[@placeholder='Message @" + firstPART + "']")
- ####res3 = driver.find_element_by_xpath("//textarea[@class='textArea-2Spzkt textArea-2Spzkt scrollbarGhostHairline-1mSOM1 scrollbar-3dvm_9']")
- ####res3.send_keys(configure_message(messageSend, 5, rnd))
- ####time.sleep(1)
- end_time = datetime.datetime.now().time().strftime('%H:%M:%S')
- total_time=(datetime.datetime.strptime(end_time,'%H:%M:%S') - datetime.datetime.strptime(start_time,'%H:%M:%S'))
- ####res3.send_keys('\n')
- ####res3.send_keys('sorry i meant to send this to my friend\n')
- start_time = datetime.datetime.now().time().strftime('%H:%M:%S')
- cnt = cnt + 1
- print('Poslao ', cnt, '. poruku memberu ', BMP(firstPART), ' ', start_time, ' ' , username1)
- formatMESSAGE = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(
- BMP(firstPART)) + ' ' + start_time
- s.send(formatMESSAGE.encode())
- except Exception as e:
- print(str(e))
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- time.sleep(1)
- ActionChains(driver).send_keys(Keys.ESCAPE).perform()
- form = 'Poslao ' + str(cnt) + '. poruku memberu ' + BMP(
- firstPART) + ' FAILURE ' + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
- print('Nije moguce poslati poruku ', BMP(firstPART), ' greska = ', str(e),
- datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
- print('RAZLOG: Nisam nasao memebera u listi...')
- s.send(form.encode())
- continue
- except Exception as e:
- global_failure = global_failure + 1
- if global_failure == 10:
- driver.quit()
- return
- porukaLOG = 'Nije moguce poslati poruku ' + BMP(firstPART) + ' greska = ' + str(
- e) + datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
- print('Nije moguce poslati poruku ', BMP(firstPART+secondPART), ' greska = ', str(e),
- datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
- s.send(porukaLOG.encode())
- time.sleep(1)
- print('Bot zavrsio sa radom')
- s.close()
- sys.exit(0)
- init_client()
- except Exception as e:
- s.close()
- print(str(e))
- print('GASIM SE1')
- sys.exit(0)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement