summaryrefslogtreecommitdiffstats
path: root/gpt4free/usesless/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'gpt4free/usesless/__init__.py')
-rw-r--r--gpt4free/usesless/__init__.py62
1 files changed, 40 insertions, 22 deletions
diff --git a/gpt4free/usesless/__init__.py b/gpt4free/usesless/__init__.py
index 1192192e..f8b6a78e 100644
--- a/gpt4free/usesless/__init__.py
+++ b/gpt4free/usesless/__init__.py
@@ -1,20 +1,32 @@
+import string
import time
import re
import json
import requests
import fake_useragent
-import names
-
-from mailgw_temporary_email import Email
+import random
from password_generator import PasswordGenerator
+from utils import create_email, check_email
+
class Account:
@staticmethod
def create(logging: bool = False):
- mail_client = Email()
- mail_client.register()
- mail_address = mail_client.address
+ is_custom_domain = input(
+ "Do you want to use your custom domain name for temporary email? [Y/n]: "
+ ).upper()
+
+ if is_custom_domain == "Y":
+ mail_address = create_email(custom_domain=True, logging=logging)
+ elif is_custom_domain == "N":
+ mail_address = create_email(custom_domain=False, logging=logging)
+ else:
+ print("Please, enter either Y or N")
+ return
+
+ name = string.ascii_lowercase + string.digits
+ username = "".join(random.choice(name) for i in range(20))
pwo = PasswordGenerator()
pwo.minlen = 8
@@ -22,12 +34,9 @@ class Account:
session = requests.Session()
- if logging:
- print(f"email: {mail_address}")
-
register_url = "https://ai.usesless.com/api/cms/auth/local/register"
register_json = {
- "username": names.get_first_name(),
+ "username": username,
"password": password,
"email": mail_address,
}
@@ -44,23 +53,28 @@ class Account:
register = session.post(register_url, json=register_json, headers=headers)
if logging:
if register.status_code == 200:
- print("register success")
+ print("Registered successfully")
else:
- print("there's a problem with account creation, try again")
+ print(register.status_code)
+ print(register.json())
+ print("There was a problem with account registration, try again")
if register.status_code != 200:
quit()
while True:
time.sleep(5)
- messages = mail_client.message_list()
+ messages = check_email(mail=mail_address, logging=logging)
+
+ # Check if method `message_list()` didn't return None or empty list.
if not messages or len(messages) == 0:
+ # If it returned None or empty list sleep for 5 seconds to wait for new message.
continue
- message_id = messages[0]["id"]
- message = mail_client.message(message_id)
+
+ message_text = messages[0]["content"]
verification_url = re.findall(
r"http:\/\/ai\.usesless\.com\/api\/cms\/auth\/email-confirmation\?confirmation=\w.+\w\w",
- message["text"],
+ message_text,
)[0]
if verification_url:
break
@@ -70,13 +84,17 @@ class Account:
login_request = session.post(
url="https://ai.usesless.com/api/cms/auth/local", json=login_json
)
- token = login_request.json()["jwt"]
- if logging:
- print(f"token: {token}")
- with open("accounts.txt", "w") as f:
- f.write(f"{mail_address}\n")
- f.write(f"{token}")
+ token = login_request.json()["jwt"]
+ if logging and token:
+ print(f"Token: {token}")
+
+ with open("account.json", "w") as file:
+ json.dump({"email": mail_address, "token": token}, file)
+ if logging:
+ print(
+ "\nNew account credentials has been successfully saved in 'account.json' file"
+ )
return token