ggejs
Version:
A powerful JavaScript library for interacting with the server of Goodgame Empire: Four Kingdoms
40 lines (34 loc) • 1.08 kB
JavaScript
const BasicMessage = require("./BasicMessage");
const {WaitUntil} = require("../../tools/wait");
const {execute: readMessage} = require("../../e4kserver/commands/readMessages");
class AllianceNewsMessage extends BasicMessage {
/** @type {Client} */
#client = null;
/**
* @param {Client} client
* @param {Array} data
*/
constructor(client, data) {
super(client, data);
this.#client = client;
}
async init() {
this.body = await getMessageBody(this.#client._socket, this.messageId);
this.#client._socket[`rms -> ${this.messageId}`] = null;
}
parseMetaData(client, metaArray) {
this.subject = metaArray[0];
}
}
/**
* @param {Socket} socket
* @param {number} messageId
*/
async function getMessageBody(socket, messageId) {
readMessage(socket, messageId);
/** @type {string} */
const data = await WaitUntil(socket, `rms -> ${messageId}`);
delete socket[`rms -> ${messageId}`];
return data;
}
module.exports = AllianceNewsMessage;