src/utils/permissions.ts (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
import type { GuildMember } from "discord.js";
import { GuildModel } from "../database/schemas.ts";
export async function hasManagerPermissions(
member: GuildMember,
): Promise<boolean> {
if (
member.permissions.has("ManageGuild") ||
member.guild.ownerId === member.id
) {
return true;
}
const guild = await GuildModel.findOne({
guild_id: member.guild.id,
});
if (!guild || guild.manager_roles.length === 0) {
return false;
}
return member.roles.cache.some((role) =>
guild.manager_roles.includes(role.id),
);
}
|