def start_verify(email, email_type): #email, 'dot'/'plus' free_print(f'{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Checking email inbox.') raw_email = email if email_type == 'dot': email = dfilter_email(raw_email) if email_type == 'plus': email = pfilter_email(raw_email) g = GmailnatorRead(email, raw_email, email_type) retry_count = 1 while retry_count <= 6: gmailnator_inbox = g.get_inbox() if gmailnator_inbox != '': break free_print(f'{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Inbox empty. Retry count: {retry_count}') free_print(f'{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Sleeping for 15 seconds. Waiting for Discord email.') time.sleep(15) retry_count += 1 discord_keywords = re.findall('Discord', gmailnator_inbox) if 'Discord' in discord_keywords: #retrive messages from inbox bs = soup(gmailnator_inbox, 'html.parser') href_links = [a['href'] for a in bs.find_all('a')] first_message = href_links[0] #get first message which is most likely from Discord verify. remove = re.compile('(^.*?(?=[#])[#])') #only get id; remove unnecessary stuff first_id = remove.sub('', first_message) message_html = g.get_single_message(first_id) content_html = soup(message_html, 'html.parser') message_links = [a['href'] for a in content_html.find_all('a')] try: discord_verify = message_links[1] free_print(f'{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Extracted discord link.') except IndexError: free_print(f'{Fore.LIGHTMAGENTA_EX}[!]{Style.RESET_ALL} List index out of range.') discord_verify = None return discord_verify else: free_print(f'{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Discord keyword not found. Unable to verify account via email.') return False
def worker(proxy=None): if proxy: free_print(f"{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Proxy used {proxy} ") free_print(f"{Fore.LIGHTMAGENTA_EX}[!]{Style.RESET_ALL} Scraping email. ") g = GmailnatorGet() new_email = g.get_email() free_print(f"{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Scraped {new_email}") email_type = find_email_type(new_email) if email_type =='dot': filtered_email = dfilter_email(new_email) if email_type == 'plus': filtered_email = pfilter_email(new_email) discord_usernames = [] with open('config/discord_usernames.txt', 'r', encoding='UTF-8') as username_txt: lines = username_txt.readlines() for line in lines: discord_usernames.append(line.replace('\n', '')) username = random.choice(discord_usernames) password = password_gen() lock.acquire() try: with open('output/login.txt', 'a', encoding='UTF-8') as login_file: login_file.write(new_email + ':' + password +'\n') except: out_folder = os.path.exists('output') if out_folder: with open('output/login.txt','w', encoding='UTF-8') as login_file: login_file.write(new_email + ':' + password +'\n') else: os.mkdir('output') with open('output/login.txt','w', encoding='UTF-8') as login_file: login_file.write(new_email + ':' + password +'\n') lock.release() if not proxy: d = DiscordGen(new_email, username, password) if proxy: d = DiscordGen(new_email, username, password, proxy = proxy) try: d.register() lock.acquire() input(f"{Fore.LIGHTMAGENTA_EX}[*]{Style.RESET_ALL} Hit enter once your done getting your token.") lock.release() try: verify_link = start_verify(new_email, email_type) if verify_link: d.verify_account(verify_link) os.system('pause>nul') d.close_driver() else: d.verify_account('https://www.gmailnator.com/inbox/#' + new_email) os.system('pause>nul') except Exception as e: print('some error occured') print(e) d.verify_account('https://www.gmailnator.com/inbox/#' + new_email) os.system('pause>nul') d.close_driver() except WebDriverException: free_print(f"{Fore.LIGHTMAGENTA_EX}[!]{Style.RESET_ALL} Webdriver Error. Unable to continue.") free_print(f"{Fore.LIGHTMAGENTA_EX}[!]{Style.RESET_ALL} Worker task ended.")