summaryrefslogtreecommitdiffstats
path: root/unfinished/openprompt
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--unfinished/openprompt/README.md5
-rw-r--r--unfinished/openprompt/create.py64
-rw-r--r--unfinished/openprompt/mail.py109
-rw-r--r--unfinished/openprompt/main.py37
-rw-r--r--unfinished/openprompt/test.py7
5 files changed, 222 insertions, 0 deletions
diff --git a/unfinished/openprompt/README.md b/unfinished/openprompt/README.md
new file mode 100644
index 00000000..489d054a
--- /dev/null
+++ b/unfinished/openprompt/README.md
@@ -0,0 +1,5 @@
+https://openprompt.co/
+
+to do:
+- finish integrating email client
+- code refractoring \ No newline at end of file
diff --git a/unfinished/openprompt/create.py b/unfinished/openprompt/create.py
new file mode 100644
index 00000000..6ccb66f4
--- /dev/null
+++ b/unfinished/openprompt/create.py
@@ -0,0 +1,64 @@
+from requests import post, get
+from json import dumps
+#from mail import MailClient
+from time import sleep
+from re import findall
+
+html = get('https://developermail.com/mail/')
+print(html.cookies.get('mailboxId'))
+email = findall(r'mailto:(.*)">', html.text)[0]
+
+headers = {
+ 'apikey': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6InVzanNtdWZ1emRjcnJjZXVobnlqIiwicm9sZSI6ImFub24iLCJpYXQiOjE2NzgyODYyMzYsImV4cCI6MTk5Mzg2MjIzNn0.2MQ9Lkh-gPqQwV08inIgqozfbYm5jdYWtf-rn-wfQ7U',
+ 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
+ 'x-client-info': '@supabase/auth-helpers-nextjs@0.5.6',
+}
+
+json_data = {
+ 'email' : email,
+ 'password': 'T4xyt4Yn6WWQ4NC',
+ 'data' : {},
+ 'gotrue_meta_security': {},
+}
+
+response = post('https://usjsmufuzdcrrceuhnyj.supabase.co/auth/v1/signup', headers=headers, json=json_data)
+print(response.json())
+
+# email_link = None
+# while not email_link:
+# sleep(1)
+
+# mails = mailbox.getmails()
+# print(mails)
+
+
+quit()
+
+url = input("Enter the url: ")
+response = get(url, allow_redirects=False)
+
+# https://openprompt.co/#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjk0ODcxLCJzdWIiOiI4NWNkNTNiNC1lZTUwLTRiMDQtOGJhNS0wNTUyNjk4ODliZDIiLCJlbWFpbCI6ImNsc2J5emdqcGhiQGJ1Z2Zvby5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODE2OTAwNzF9XSwic2Vzc2lvbl9pZCI6ImY4MTg1YTM5LTkxYzgtNGFmMy1iNzAxLTdhY2MwY2MwMGNlNSJ9.UvcTfpyIM1TdzM8ZV6UAPWfa0rgNq4AiqeD0INy6zV8&expires_in=604800&refresh_token=_Zp8uXIA2InTDKYgo8TCqA&token_type=bearer&type=signup
+
+redirect = response.headers.get('location')
+access_token = redirect.split('&')[0].split('=')[1]
+refresh_token = redirect.split('&')[2].split('=')[1]
+
+supabase_auth_token = dumps([access_token, refresh_token, None, None, None], separators=(',', ':'))
+print(supabase_auth_token)
+
+cookies = {
+ 'supabase-auth-token': supabase_auth_token
+}
+
+json_data = {
+ 'messages': [
+ {
+ 'role': 'user',
+ 'content': 'how do I reverse a string in python?'
+ }
+ ]
+}
+
+response = post('https://openprompt.co/api/chat2', cookies=cookies, json=json_data, stream=True)
+for chunk in response.iter_content(chunk_size=1024):
+ print(chunk) \ No newline at end of file
diff --git a/unfinished/openprompt/mail.py b/unfinished/openprompt/mail.py
new file mode 100644
index 00000000..082ac9fb
--- /dev/null
+++ b/unfinished/openprompt/mail.py
@@ -0,0 +1,109 @@
+import requests
+import email
+
+class MailClient:
+
+ def __init__(self):
+ self.username = None
+ self.token = None
+ self.raw = None
+ self.mailids = None
+ self.mails = None
+ self.mail = None
+
+ def create(self, force=False):
+ headers = {
+ 'accept': 'application/json',
+ }
+
+ if self.username:
+ pass
+ else:
+ self.response = requests.put(
+ 'https://www.developermail.com/api/v1/mailbox', headers=headers)
+ self.response = self.response.json()
+ self.username = self.response['result']['name']
+ self.token = self.response['result']['token']
+
+ return {'username': self.username, 'token': self.token}
+
+ def destroy(self):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ }
+ self.response = requests.delete(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers)
+ self.response = self.response.json()
+ self.username = None
+ self.token = None
+ return self.response
+
+ def newtoken(self):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ }
+ self.response = requests.put(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}/token', headers=headers)
+ self.response = self.response.json()
+ self.token = self.response['result']['token']
+ return {'username': self.username, 'token': self.token}
+
+ def getmailids(self):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ }
+
+ self.response = requests.get(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}', headers=headers)
+ self.response = self.response.json()
+ self.mailids = self.response['result']
+ return self.mailids
+
+ def getmails(self, mailids: list = None):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ 'Content-Type': 'application/json',
+ }
+
+ if mailids is None:
+ mailids = self.mailids
+
+ data = str(mailids)
+
+ self.response = requests.post(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages', headers=headers, data=data)
+ self.response = self.response.json()
+ self.mails = self.response['result']
+ return self.mails
+
+ def getmail(self, mailid: str, raw=False):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ }
+ self.response = requests.get(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers)
+ self.response = self.response.json()
+ self.mail = self.response['result']
+ if raw is False:
+ self.mail = email.message_from_string(self.mail)
+ return self.mail
+
+ def delmail(self, mailid: str):
+ headers = {
+ 'accept': 'application/json',
+ 'X-MailboxToken': self.token,
+ }
+ self.response = requests.delete(
+ f'https://www.developermail.com/api/v1/mailbox/{self.username}/messages/{mailid}', headers=headers)
+ self.response = self.response.json()
+ return self.response
+
+
+client = MailClient()
+client.newtoken()
+print(client.getmails()) \ No newline at end of file
diff --git a/unfinished/openprompt/main.py b/unfinished/openprompt/main.py
new file mode 100644
index 00000000..2fa4508e
--- /dev/null
+++ b/unfinished/openprompt/main.py
@@ -0,0 +1,37 @@
+import requests
+
+cookies = {
+ 'supabase-auth-token': '["eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjk1NzQyLCJzdWIiOiJlOGExOTdiNS03YTAxLTQ3MmEtODQ5My1mNGUzNTNjMzIwNWUiLCJlbWFpbCI6InFlY3RncHZhamlibGNjQGJ1Z2Zvby5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODE2OTA5NDJ9XSwic2Vzc2lvbl9pZCI6IjIwNTg5MmE5LWU5YTAtNDk2Yi1hN2FjLWEyMWVkMTkwZDA4NCJ9.o7UgHpiJMfa6W-UKCSCnAncIfeOeiHz-51sBmokg0MA","RtPKeb7KMMC9Dn2fZOfiHA",null,null,null]',
+}
+
+headers = {
+ 'authority': 'openprompt.co',
+ 'accept': '*/*',
+ 'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
+ 'content-type': 'application/json',
+ # 'cookie': 'supabase-auth-token=%5B%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjkzMjQ4LCJzdWIiOiJlODQwNTZkNC0xZWJhLTQwZDktOWU1Mi1jMTc4MTUwN2VmNzgiLCJlbWFpbCI6InNia2didGJnZHB2bHB0ZUBidWdmb28uY29tIiwicGhvbmUiOiIiLCJhcHBfbWV0YWRhdGEiOnsicHJvdmlkZXIiOiJlbWFpbCIsInByb3ZpZGVycyI6WyJlbWFpbCJdfSwidXNlcl9tZXRhZGF0YSI6e30sInJvbGUiOiJhdXRoZW50aWNhdGVkIiwiYWFsIjoiYWFsMSIsImFtciI6W3sibWV0aG9kIjoib3RwIiwidGltZXN0YW1wIjoxNjgxNjg4NDQ4fV0sInNlc3Npb25faWQiOiJiNDhlMmU3NS04NzlhLTQxZmEtYjQ4MS01OWY0OTgxMzg3YWQifQ.5-3E7WvMMVkXewD1qA26Rv4OFSTT82wYUBXNGcYaYfQ%22%2C%22u5TGGMMeT3zZA0agm5HGuA%22%2Cnull%2Cnull%2Cnull%5D',
+ 'origin': 'https://openprompt.co',
+ 'referer': 'https://openprompt.co/ChatGPT',
+ 'sec-ch-ua': '"Chromium";v="112", "Google Chrome";v="112", "Not:A-Brand";v="99"',
+ 'sec-ch-ua-mobile': '?0',
+ 'sec-ch-ua-platform': '"macOS"',
+ 'sec-fetch-dest': 'empty',
+ 'sec-fetch-mode': 'cors',
+ 'sec-fetch-site': 'same-origin',
+ 'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36',
+}
+
+json_data = {
+ 'messages': [
+ {
+ 'role': 'user',
+ 'content': 'hello world',
+ },
+ ],
+}
+
+response = requests.post('https://openprompt.co/api/chat2', cookies=cookies, headers=headers, json=json_data, stream=True)
+for chunk in response.iter_content(chunk_size=1024):
+ print(chunk)
+
+
diff --git a/unfinished/openprompt/test.py b/unfinished/openprompt/test.py
new file mode 100644
index 00000000..d178462e
--- /dev/null
+++ b/unfinished/openprompt/test.py
@@ -0,0 +1,7 @@
+access_token = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjk0ODcxLCJzdWIiOiI4NWNkNTNiNC1lZTUwLTRiMDQtOGJhNS0wNTUyNjk4ODliZDIiLCJlbWFpbCI6ImNsc2J5emdqcGhiQGJ1Z2Zvby5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODE2OTAwNzF9XSwic2Vzc2lvbl9pZCI6ImY4MTg1YTM5LTkxYzgtNGFmMy1iNzAxLTdhY2MwY2MwMGNlNSJ9.UvcTfpyIM1TdzM8ZV6UAPWfa0rgNq4AiqeD0INy6zV'
+supabase_auth_token= '%5B%22eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjk0ODcxLCJzdWIiOiI4NWNkNTNiNC1lZTUwLTRiMDQtOGJhNS0wNTUyNjk4ODliZDIiLCJlbWFpbCI6ImNsc2J5emdqcGhiQGJ1Z2Zvby5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODE2OTAwNzF9XSwic2Vzc2lvbl9pZCI6ImY4MTg1YTM5LTkxYzgtNGFmMy1iNzAxLTdhY2MwY2MwMGNlNSJ9.UvcTfpyIM1TdzM8ZV6UAPWfa0rgNq4AiqeD0INy6zV8%22%2C%22_Zp8uXIA2InTDKYgo8TCqA%22%2Cnull%2Cnull%2Cnull%5D'
+
+
+idk = [
+ "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOiJhdXRoZW50aWNhdGVkIiwiZXhwIjoxNjgyMjk0ODcxLCJzdWIiOiI4NWNkNTNiNC1lZTUwLTRiMDQtOGJhNS0wNTUyNjk4ODliZDIiLCJlbWFpbCI6ImNsc2J5emdqcGhiQGJ1Z2Zvby5jb20iLCJwaG9uZSI6IiIsImFwcF9tZXRhZGF0YSI6eyJwcm92aWRlciI6ImVtYWlsIiwicHJvdmlkZXJzIjpbImVtYWlsIl19LCJ1c2VyX21ldGFkYXRhIjp7fSwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJvdHAiLCJ0aW1lc3RhbXAiOjE2ODE2OTAwNzF9XSwic2Vzc2lvbl9pZCI6ImY4MTg1YTM5LTkxYzgtNGFmMy1iNzAxLTdhY2MwY2MwMGNlNSJ9.UvcTfpyIM1TdzM8ZV6UAPWfa0rgNq4AiqeD0INy6zV8",
+ "_Zp8uXIA2InTDKYgo8TCqA",None,None,None] \ No newline at end of file