UNPKG

@getsolara/solara.js

Version:

A lightweight and modular Discord bot framework built on discord.js v14, with truly optional feature packages.

11 lines 986 B
module.exports = { name: "$getPruneCount", description: "Estimates prune count. Args: days;[rolesJson?]", takesBrackets: true, execute: async (context, args) => { if (!context.guild) return "[Error: Requires guild context]"; if (!args[0]) return "[Error: Requires number of days (1-30)]"; const days = parseInt(args[0], 10); const rolesJson = args[1]; let roles; if (isNaN(days) || days < 1 || days > 30) return "[Error: Days must be between 1 and 30]"; if (rolesJson) { try { roles = JSON.parse(rolesJson); if (!Array.isArray(roles)) throw new Error(); } catch { return "[Error: Invalid roles JSON array]"; } } try { if (!context.guild.members.me?.permissions.has("KickMembers")) return "[Error: Bot lacks Kick Members permission]"; const count = await context.guild.members.prune({ days, dry: true, roles }); return count?.toString() ?? "0"; } catch (e) { return `[Error getting prune count: ${e.message}]`; } } };