// ── `/wipe [server]` — when it wipes next, and when it last did (D128) ────── // // Public: a wipe date is announced to bring players back. The next wipe is the // operator's schedule, computed on this read (`model/servers/nextWipe.js`); a // server with no schedule says so and shows only the last wipe it reported. const c = require('./common') function lines(server, now) { return [ `Next: ${c.nextWipeText(server, now) || 'no schedule set'}`, `Last: ${server.wipedAt ? c.when(server.wipedAt, now) : 'not reported yet'}`, ].join('\n') } async function handler({ options }) { const now = Date.now() const picked = c.pickServer(await c.listServers(now), options && options.server) const refusal = c.pickRefusal(picked) if (refusal) return refusal if (picked.server) { return { title: `${picked.server.name} — wipes`, url: c.serverUrl(picked.server), text: lines(picked.server, now) } } return { title: 'Wipes', url: c.pageUrl('/rust'), fields: picked.all.slice(0, 25).map((s) => ({ name: s.name, value: lines(s, now), inline: false })), } } module.exports = { name: 'wipe', description: 'When a Rust server wipes next, and when it last wiped', options: [{ name: 'server', type: 'string', description: 'Server name or id (all servers when left out)', required: false }], access: 'everyone', handler, }