v3 with more features
This commit is contained in:
parent
f3c87e1c84
commit
5cb7062d4e
6 changed files with 178 additions and 27 deletions
15
client.ts
15
client.ts
|
|
@ -18,6 +18,7 @@ type MessageEvents = {
|
|||
join: (join: proto.Profile) => void;
|
||||
leave: (id: string) => void;
|
||||
chown: () => void;
|
||||
tokenRecieved: () => void;
|
||||
serverMessage: (serverMessage: string) => void;
|
||||
};
|
||||
|
||||
|
|
@ -33,6 +34,8 @@ interface Player {
|
|||
export class Client extends (EventEmitter as new () => TypedEmitter<MessageEvents>) {
|
||||
private ws: WebSocket;
|
||||
me!: Player;
|
||||
token?: string;
|
||||
|
||||
chatHistory: proto.ServerMessage_Chat[] = [];
|
||||
room: {
|
||||
name?: string;
|
||||
|
|
@ -126,10 +129,10 @@ export class Client extends (EventEmitter as new () => TypedEmitter<MessageEvent
|
|||
}
|
||||
constructor(url: string, token?: string) {
|
||||
super();
|
||||
this.ws = new WebSocket(url.replace("http", "ws"), {
|
||||
this.ws = new WebSocket(url.replace("http", "ws") + (token ? ("?t=" + token) : ""), {
|
||||
//@ts-expect-error
|
||||
headers: {
|
||||
Origin: url + (token ? ("?t=" + token) : ""),
|
||||
Origin: url,
|
||||
"User-Agent": new UserAgent().toString(),
|
||||
},
|
||||
protocol: "pianoverse",
|
||||
|
|
@ -166,8 +169,8 @@ export class Client extends (EventEmitter as new () => TypedEmitter<MessageEvent
|
|||
this.room.owner = decode.chown;
|
||||
this.emit("chown");
|
||||
}
|
||||
if (decode.event == SEventType.MESSAGE) {
|
||||
this.emit("serverMessage", decode.message);
|
||||
if (decode.event == SEventType.POPUP) {
|
||||
this.emit("serverMessage", decode.popup);
|
||||
}
|
||||
if (decode.event == SEventType.RATELIMIT) {
|
||||
console.log("Ratelimit reached! Time left: " + decode.ratelimit);
|
||||
|
|
@ -211,6 +214,10 @@ export class Client extends (EventEmitter as new () => TypedEmitter<MessageEvent
|
|||
decode.chat!.content
|
||||
);
|
||||
}
|
||||
if (decode.event == SEventType.TOKEN) {
|
||||
this.token = decode.token;
|
||||
this.emit("tokenRecieved")
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue