chookchat/client-python/client.py
2025-03-14 08:56:02 +11:00

69 lines
1.7 KiB
Python

import websocket
import json
import _thread
import time
import rel
from google import genai
username = "(insert username here)"
token = "(insert token here)"
def joinRoom(roomName):
ws.send(json.dumps({
"type": "joinRoom",
"username": username,
"token": token,
"room": roomName,
"content": ""
}))
def sendMessage(content):
ws.send(json.dumps({
"type": "message",
"username": username,
"token": token,
"content": content
}))
def sendTyping(content):
ws.send(json.dumps({
"type": "typing",
"username": username,
"token": token,
"content": content
}))
def on_message(ws, message):
print("Message received: " + message)
if message == "ping":
ws.send("pong")
def on_error(ws, error):
print("Error:", error)
def on_close(ws, close_status_code, close_msg):
print(f"Connection closed: {close_status_code} - {close_msg}")
def on_open(ws):
print("Opening connection to Chookchat...")
joinRoom("general")
ws.send(json.dumps({
"type": "connect",
"username": username,
"token": token,
"content": username + " joined the room!"
}))
if __name__ == "__main__":
websocket.enableTrace(True)
ws = websocket.WebSocketApp("wss://bobcompass.online/api/websocket",
on_open=on_open,
on_message=on_message,
on_error=on_error,
on_close=on_close
)
ws.run_forever(dispatcher=rel, reconnect=5, ping_interval=30, ping_timeout=10)
rel.signal(2, rel.abort)
rel.dispatch()