summaryrefslogblamecommitdiffstats
path: root/unfinished/gptbz/__init__.py
blob: e95d5716960fdf1862744534f1a22522efd864a8 (plain) (tree)
1
2
3
4
5
6
7
8
9

                             


                 


                                                                   
                 
                                                             
                                                                                   












                                                                    

                    
                                                                               

                        

                                                                     
                                               

                                                
                                    




                                                                               

                                                               

                                                                      

                                               
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