def main(url):
    character = {}
    client = DDPClient('ws://dicecloud.com/websocket', auto_reconnect=False)
    client.is_connected = False
    client.connect()

    def connected():
        client.is_connected = True

    client.on('connected', connected)
    while not client.is_connected:
        time.sleep(1)
    client.subscribe('singleCharacter', [url])

    def update_character(collection, _id, fields):
        if character.get(collection) is None:
            character[collection] = []
        fields['id'] = _id
        character.get(collection).append(fields)

    client.on('added', update_character)
    time.sleep(10)
    client.close()
    character['id'] = url
    return character