import { exec as _exec } from 'node:child_process'; import fetch from 'node-fetch'; export default new class { exec(cmd) { return new Promise((resolve, reject) => { _exec(cmd, { maxBuffer: 5e3 * 1024 }, (err, stdout, stderr) => { if(err) return reject(err); if(stderr) console.error(stderr); resolve({ stdout: stdout }); }); }); }; rand(max = 1) { return ~~(Math.random() * (max - 1) + 1); }; async getPlayerlist(world, clanid) { const res = await (await fetch(`https://${world}.freewar.de/freewar/dump_players.php`)).text(); return res.split("\n").map(p => { const player = p.split("\t"); return { id: +player[0], name: player[1], xp: +player[2], rasse: player[3], clanid: +player[4] }; }).filter(p => p.clanid === clanid) }; };