from character_chat import ConvaiChatClient

client = ConvaiChatClient("https://1b98-34-83-87-75.ngrok-free.app/")

# Flag to track if character setup is done
character_ready = False

def on_character_update_success(data):
    global character_ready
    print("✅ Character updated successfully!")
    character_ready = True

def on_chat_response(data):
    print(f"🧠 Bot: {data['text']}")

# Register callbacks
client.on("update_success", on_character_update_success)
client.on("chat_response", on_chat_response)

# Connect and update character
client.connect()
client.update_character("d45ca3c0a127273f")

# Wait for the character to be set before allowing chat
import time
while not character_ready:
    time.sleep(10)

# Start chat loop
print("💬 You can start chatting now. Type 'exit' to quit.")
while True:
    user_input = input("🧍 You: ")
    if user_input.strip().lower() == "exit":
        break
    client.send_text(user_input)

client.disconnect()
