import { WebSocket } from "ws"; export default class RemoteUser { private static USER_IDS = 0; public readonly socket:WebSocket; public readonly connectionUUID:string; public readonly id:number; public readonly username:string; public readonly currentURL:string; public readonly rawURL:string = ""; public cursorX:number = 0; public cursorY:number = 0; public allowedPings:number; public lastPingReset:number; public userId:number; public groupId:number = Number.MIN_VALUE; public groupName:string; public lastKeepAliveTime:number; constructor(socket:WebSocket, connectionUUID:string, username:string, currentURL:string, rawURL:string, userId:number, groupId:number, groupName:string) { this.socket = socket; this.connectionUUID = connectionUUID; this.id = RemoteUser.USER_IDS++; this.username = username; this.currentURL = currentURL; this.rawURL = rawURL; this.allowedPings = 10; this.lastPingReset = Date.now(); this.userId = userId; this.groupId = groupId; this.groupName = groupName; this.lastKeepAliveTime = Date.now(); } send(data:Buffer) { this.socket.send(data); } }