jsplanet
Version:
A controller for Trackmania 2020 dedicated server.
30 lines (29 loc) • 933 B
JavaScript
import { Message } from "../structures/index.js";
class ChatManager {
jsPlanet;
playersManager;
remote;
constructor(jsPlanet, remote, playersManager) {
this.jsPlanet = jsPlanet;
this.playersManager = playersManager;
this.remote = remote;
this.setupListeners();
}
async send(message) {
const [isSuccess] = await this.remote.callMethod("ChatSendServerMessage", message);
return isSuccess;
}
setupListeners() {
this.remote.on("ManiaPlanet.PlayerChat", (_, playerLogin, rawMessage) => {
const message = new Message(this.playersManager["create"]({
isConnected: null,
login: playerLogin,
nickname: null,
status: null,
team: null,
}), rawMessage);
this.jsPlanet.emit("message", message);
});
}
}
export default ChatManager;