3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-11 12:55:01 +00:00

Improve permission utils, make them bigint-aware

This commit is contained in:
Dragory 2020-08-07 00:39:52 +03:00
parent a404c7a97f
commit 8af64a6944
No known key found for this signature in database
GPG key ID: 5F387BA66DF8AAC1
11 changed files with 97 additions and 34 deletions

View file

@ -0,0 +1,16 @@
import { Constants, Permission } from "eris";
/**
* @param resolvedPermissions A Permission object from e.g. GuildChannel#permissionsOf() or Member#permission
* @param requiredPermissions Bitmask of required permissions
*/
export function hasDiscordPermissions(resolvedPermissions: Permission, requiredPermissions: number | bigint) {
const allowedPermissions = BigInt(resolvedPermissions.allow);
const nRequiredPermissions = BigInt(requiredPermissions);
if (Boolean(allowedPermissions & BigInt(Constants.Permissions.administrator))) {
return true;
}
return Boolean(allowedPermissions & nRequiredPermissions);
}