From 47bbaec35b1ee0bfb1eb0ec83a93f9e6ba7e2e3d Mon Sep 17 00:00:00 2001 From: Skillz Date: Sat, 8 Aug 2020 11:57:03 -0400 Subject: [PATCH] add new cleaner perm checker function --- src/utils/permissions.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/utils/permissions.ts b/src/utils/permissions.ts index 02f3b34fe..f1bc91912 100644 --- a/src/utils/permissions.ts +++ b/src/utils/permissions.ts @@ -7,6 +7,23 @@ import { botID } from "../module/client.ts"; import { Role } from "../structures/role.ts"; import { Guild } from "../structures/guild.ts"; +/** Checks if the member has this permission. If the member is an owner or has admin perms it will always be true. */ +export function memberIDHasPermission( + memberID: string, + guildID: string, + permissions: Permission[], +) { + const guild = cache.guilds.get(guildID); + if (!guild) return false; + + if (memberID === guild.ownerID) return true; + + const member = guild.members.get(memberID); + if (!member) return false; + + return memberHasPermission(member.guildID, guild, member.roles, permissions) +} + /** Checks if the member has this permission. If the member is an owner or has admin perms it will always be true. */ export function memberHasPermission( memberID: string,