43 lines
No EOL
1.2 KiB
TypeScript
43 lines
No EOL
1.2 KiB
TypeScript
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;
|
|
public isAfk:boolean;
|
|
public timeLastMovedCursor: 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();
|
|
this.isAfk = false;
|
|
this.timeLastMovedCursor = Date.now();
|
|
}
|
|
|
|
send(data:Buffer) {
|
|
this.socket.send(data);
|
|
}
|
|
} |