diff options
Diffstat (limited to 'g4f/.v1/unfinished/gptbz/__init__.py')
-rw-r--r-- | g4f/.v1/unfinished/gptbz/__init__.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/g4f/.v1/unfinished/gptbz/__init__.py b/g4f/.v1/unfinished/gptbz/__init__.py new file mode 100644 index 00000000..e95d5716 --- /dev/null +++ b/g4f/.v1/unfinished/gptbz/__init__.py @@ -0,0 +1,46 @@ +from json import dumps, loads + +import websockets + + +# Define the asynchronous function to test the WebSocket connection + + +async def test(): + # Establish a WebSocket connection with the specified URL + async with websockets.connect('wss://chatgpt.func.icu/conversation+ws') as wss: + + # Prepare the message payload as a JSON object + payload = { + 'content_type': 'text', + 'engine': 'chat-gpt', + 'parts': ['hello world'], + 'options': {} + } + + # Send the payload to the WebSocket server + await wss.send(dumps(obj=payload, separators=(',', ':'))) + + # Initialize a variable to track the end of the conversation + ended = None + + # Continuously receive and process messages until the conversation ends + while not ended: + try: + # Receive and parse the JSON response from the server + response = await wss.recv() + json_response = loads(response) + + # Print the entire JSON response + print(json_response) + + # Check for the end of the conversation + ended = json_response.get('eof') + + # If the conversation has not ended, print the received message + if not ended: + print(json_response['content']['parts'][0]) + + # Handle cases when the connection is closed by the server + except websockets.ConnectionClosed: + break |