3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-03-18 23:09:59 +00:00
zeppelin/backend/src/utils/getMissingChannelPermissions.ts

16 lines
631 B
TypeScript

import { GuildChannel, GuildMember, ThreadChannel } from "discord.js";
import { getMissingPermissions } from "./getMissingPermissions";
/**
* @param requiredPermissions Bitmask of required permissions
* @return Bitmask of missing permissions
*/
export function getMissingChannelPermissions(
member: GuildMember,
channel: GuildChannel | ThreadChannel,
requiredPermissions: number | bigint,
): bigint {
const memberChannelPermissions = channel.permissionsFor(member.id);
if (!memberChannelPermissions) return BigInt(requiredPermissions);
return getMissingPermissions(memberChannelPermissions, requiredPermissions);
}