teamspeak.on('ready', async () => { await teamspeak.registerEvent('textprivate'); teamspeak.registerEvent('server'); teamspeak.registerEvent('channel', 0); startTasks(teamspeak); resolve(teamspeak); });
/** * Updates the rank of all registered players currently online */ async updateTick() { //get all clients online let onlineClients = await this.ts3.clientList({client_type: 0}); for(let i = 0; i < onlineClients.length; i++){ let client = onlineClients[i]; //check if client is registered if(!await database.isRegisteredByTsUid(client.uniqueIdentifier)){ return; } await exchangeChannel.postMessage(`update_tick_get_rank ${client.uniqueIdentifier}`); } }
teamspeak.on('error', (error) => { reject(error); });
let csgoRankId = cmd[2]; let rankChannelId = Teamspeak.getRankGroupFromRankId(csgoRankId); let client = await this.ts3.getClientByUID(tsUid); let clientGroups = client.servergroups;
async setRank(tsUid, csgoRankId){ let tsClientList = await this.ts3.clientList({client_type: 0, client_unique_identifier: tsUid});
this.ts3.on("clientconnect", ev => { let client = ev.client; logger.debug(`Client ${client.nickname} just connected`); this.ts3.on("ready", () => { Promise.all([ this.ts3.registerEvent("server"), this.ts3.registerEvent("channel", config.tsConfig.ts_welcomechannel_id), this.ts3.registerEvent("textprivate") ]).then(() => { logger.info("Teamspeak interface connected and ready!"); this.ts3.on('textmessage', ev => { Teamspeak.onMessageReceived(ev).catch(err => { console.log(err); }); }); this.ts3.on("error", e => console.log(e.message)); this.ts3.on("close", e => { if(e != null){ logger.error("Connection has been lost! ", e.message);
teamspeak.on('textmessage', event => proceesCommand(event, teamspeak));
/** * Sends a message to the provided tsUid * @param tsUid * @param message * @return Promise{boolean} */ async messageUser(tsUid, message){ //We first need to get the TeamspeakClient let tsClientList = await this.ts3.clientList({client_type: 0, client_unique_identifier: tsUid}); //Check if tsClientList contains at least one client if(tsClientList.length > 0) { let tsClient = tsClientList[0]; tsClient.message(message) .then(() => {return true;}) .catch(() => {return false;}); } }