juzhao's picture
Duplicate from justest/gpt4free
8d70bcd
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