diff options
Diffstat (limited to 'gpt4free/quora')
-rw-r--r-- | gpt4free/quora/README.md | 9 | ||||
-rw-r--r-- | gpt4free/quora/__init__.py | 27 | ||||
-rw-r--r-- | gpt4free/quora/api.py | 6 | ||||
-rw-r--r-- | gpt4free/quora/backup-mail.py | 30 | ||||
-rw-r--r-- | gpt4free/quora/graphql/SettingsDeleteAccountButton_deleteAccountMutation_Mutation.graphql | 1 |
5 files changed, 49 insertions, 24 deletions
diff --git a/gpt4free/quora/README.md b/gpt4free/quora/README.md index 9c652c59..88fd0093 100644 --- a/gpt4free/quora/README.md +++ b/gpt4free/quora/README.md @@ -65,4 +65,13 @@ poe.chat('who won the football world cup most?') # new bot creation poe.create_bot('new_bot_name', prompt='You are new test bot', base_model='gpt-3.5-turbo') +# delete account +poe.delete_account() +``` + +### Deleting the Poe Account +```python +from gpt4free import quora + +quora.Account.delete(token='') ``` diff --git a/gpt4free/quora/__init__.py b/gpt4free/quora/__init__.py index afbfb68d..5d9e80c1 100644 --- a/gpt4free/quora/__init__.py +++ b/gpt4free/quora/__init__.py @@ -104,8 +104,8 @@ class Model: def create( token: str, model: str = 'gpt-3.5-turbo', # claude-instant - system_prompt: str = 'You are ChatGPT a large language model developed by Openai. Answer as consisely as possible', - description: str = 'gpt-3.5 language model from openai, skidded by poe.com', + system_prompt: str = 'You are ChatGPT a large language model. Answer as consisely as possible', + description: str = 'gpt-3.5 language model', handle: str = None, ) -> ModelResponse: if not handle: @@ -285,6 +285,11 @@ class Account: cookies = open(Path(__file__).resolve().parent / 'cookies.txt', 'r').read().splitlines() return choice(cookies) + @staticmethod + def delete(token: str, proxy: Optional[str] = None): + client = PoeClient(token, proxy=proxy) + client.delete_account() + class StreamingCompletion: @staticmethod @@ -293,11 +298,11 @@ class StreamingCompletion: custom_model: bool = None, prompt: str = 'hello world', token: str = '', - proxy: Optional[str] = None + proxy: Optional[str] = None, ) -> Generator[PoeResponse, None, None]: _model = MODELS[model] if not custom_model else custom_model - proxies = { 'http': 'http://' + proxy, 'https': 'http://' + proxy } if proxy else False + proxies = {'http': 'http://' + proxy, 'https': 'http://' + proxy} if proxy else False client = PoeClient(token) client.proxy = proxies @@ -333,7 +338,7 @@ class Completion: custom_model: str = None, prompt: str = 'hello world', token: str = '', - proxy: Optional[str] = None + proxy: Optional[str] = None, ) -> PoeResponse: _model = MODELS[model] if not custom_model else custom_model @@ -454,14 +459,7 @@ class Poe: response = chunk['text'] return response - def create_bot( - self, - name: str, - /, - prompt: str = '', - base_model: str = 'ChatGPT', - description: str = '', - ) -> None: + def create_bot(self, name: str, /, prompt: str = '', base_model: str = 'ChatGPT', description: str = '') -> None: if base_model not in MODELS: raise RuntimeError('Sorry, the base_model you provided does not exist. Please check and try again.') @@ -475,3 +473,6 @@ class Poe: def list_bots(self) -> list: return list(self.client.bot_names.values()) + + def delete_account(self) -> None: + self.client.delete_account() diff --git a/gpt4free/quora/api.py b/gpt4free/quora/api.py index d19172ce..9e3c0b91 100644 --- a/gpt4free/quora/api.py +++ b/gpt4free/quora/api.py @@ -548,5 +548,11 @@ class Client: self.get_bots() return data + def delete_account(self) -> None: + response = self.send_query('SettingsDeleteAccountButton_deleteAccountMutation_Mutation', {}) + data = response['data']['deleteAccount'] + if 'viewer' not in data: + raise RuntimeError(f'Error occurred while deleting the account, Please try again!') + load_queries() diff --git a/gpt4free/quora/backup-mail.py b/gpt4free/quora/backup-mail.py index 0a2a5e94..25d526d7 100644 --- a/gpt4free/quora/backup-mail.py +++ b/gpt4free/quora/backup-mail.py @@ -1,7 +1,10 @@ -from requests import Session
-from time import sleep
from json import loads
from re import findall
+from time import sleep
+
+from requests import Session
+
+
class Mail:
def __init__(self) -> None:
self.client = Session()
@@ -9,29 +12,34 @@ class Mail: self.cookies = {'acceptcookie': 'true'}
self.cookies["ci_session"] = self.client.cookies.get_dict()["ci_session"]
self.email = None
+
def get_mail(self):
- respone=self.client.post("https://etempmail.com/getEmailAddress")
- #cookies
+ respone = self.client.post("https://etempmail.com/getEmailAddress")
+ # cookies
self.cookies["lisansimo"] = eval(respone.text)["recover_key"]
self.email = eval(respone.text)["address"]
return self.email
+
def get_message(self):
print("Waiting for message...")
while True:
sleep(5)
- respone=self.client.post("https://etempmail.com/getInbox")
- mail_token=loads(respone.text)
+ respone = self.client.post("https://etempmail.com/getInbox")
+ mail_token = loads(respone.text)
print(self.client.cookies.get_dict())
if len(mail_token) == 1:
break
-
- params = {'id': '1',}
- self.mail_context = self.client.post("https://etempmail.com/getInbox",params=params)
+
+ params = {
+ 'id': '1',
+ }
+ self.mail_context = self.client.post("https://etempmail.com/getInbox", params=params)
self.mail_context = eval(self.mail_context.text)[0]["body"]
return self.mail_context
- #,cookies=self.cookies
+
+ # ,cookies=self.cookies
def get_verification_code(self):
message = self.mail_context
code = findall(r';">(\d{6,7})</div>', message)[0]
print(f"Verification code: {code}")
- return code
\ No newline at end of file + return code
diff --git a/gpt4free/quora/graphql/SettingsDeleteAccountButton_deleteAccountMutation_Mutation.graphql b/gpt4free/quora/graphql/SettingsDeleteAccountButton_deleteAccountMutation_Mutation.graphql new file mode 100644 index 00000000..0af50950 --- /dev/null +++ b/gpt4free/quora/graphql/SettingsDeleteAccountButton_deleteAccountMutation_Mutation.graphql @@ -0,0 +1 @@ +mutation SettingsDeleteAccountButton_deleteAccountMutation_Mutation{ deleteAccount { viewer { uid id } }}
\ No newline at end of file |