src/utils/discord/permissions.ts (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
import type { GuildMember } from "discord.js";
import { getGuild, getManagerRoleIds } from "../../database/queries";
export async function hasManagerPermissions(
member: GuildMember,
): Promise<boolean> {
if (
member.permissions.has("ManageGuild") ||
member.guild.ownerId === member.id
)
return true;
const guild = await getGuild(member.guild.id);
const managers = await getManagerRoleIds(guild.data.guildId);
if (!guild || !managers || managers.length === 0) return false;
return member.roles.cache.some((role) => managers.includes(role.id));
}
|