UNPKG

solara-testing-beta

Version:

A modern, customizable, and lightweight Discord framework.

34 lines 1.61 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const resolveUser_1 = require("../../utils/resolveUser"); exports.default = { name: 'userPermissions', execute: async (ctx) => { const scope = ctx.args[0]?.toLowerCase() ?? 'channel'; const memberIdArgIndex = scope === 'channel' || scope === 'guild' ? 1 : 0; const member = await (0, resolveUser_1.getTargetMember)(ctx, memberIdArgIndex); if (!member) { const authorMember = ctx.interaction?.member ?? ctx.message?.member; if (!authorMember) throw new Error('Could not determine member for permissions check.'); if (memberIdArgIndex === 0 && ctx.args.length > 0) throw new Error('Member not found.'); if (!authorMember) throw new Error('Member not found.'); return scope === 'channel' ? authorMember.permissionsIn(ctx.interaction?.channelId ?? ctx.message?.channelId).toArray().join(';') : authorMember.permissions.toArray().join(';'); } if (scope === 'channel') { const channel = ctx.interaction?.channel ?? ctx.message?.channel; if (!channel || !('permissionsFor' in channel)) { throw new Error('Channel context not found or invalid for permissions check.'); } return channel.permissionsFor(member).toArray().join(';'); } else { return member.permissions.toArray().join(';'); } }, }; //# sourceMappingURL=userPermissions.js.map