summary refs log tree commit diff
path: root/dist/util/Permissions.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/util/Permissions.js')
-rw-r--r--dist/util/Permissions.js55
1 files changed, 55 insertions, 0 deletions
diff --git a/dist/util/Permissions.js b/dist/util/Permissions.js
new file mode 100644
index 00000000..596e1fa9
--- /dev/null
+++ b/dist/util/Permissions.js
@@ -0,0 +1,55 @@
+"use strict";
+// https://github.com/discordjs/discord.js/blob/master/src/util/Permissions.js
+// Apache License Version 2.0 Copyright 2015 - 2021 Amish Shah
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.Permissions = void 0;
+const BitField_1 = require("./BitField");
+class Permissions extends BitField_1.BitField {
+    any(permission, checkAdmin = true) {
+        return (checkAdmin && super.has(Permissions.FLAGS.ADMINISTRATOR)) || super.any(permission);
+    }
+    /**
+     * Checks whether the bitfield has a permission, or multiple permissions.
+     * @param {PermissionResolvable} permission Permission(s) to check for
+     * @param {boolean} [checkAdmin=true] Whether to allow the administrator permission to override
+     * @returns {boolean}
+     */
+    has(permission, checkAdmin = true) {
+        return (checkAdmin && super.has(Permissions.FLAGS.ADMINISTRATOR)) || super.has(permission);
+    }
+}
+exports.Permissions = Permissions;
+Permissions.FLAGS = {
+    CREATE_INSTANT_INVITE: 1n << 0n,
+    KICK_MEMBERS: 1n << 1n,
+    BAN_MEMBERS: 1n << 2n,
+    ADMINISTRATOR: 1n << 3n,
+    MANAGE_CHANNELS: 1n << 4n,
+    MANAGE_GUILD: 1n << 5n,
+    ADD_REACTIONS: 1n << 6n,
+    VIEW_AUDIT_LOG: 1n << 7n,
+    PRIORITY_SPEAKER: 1n << 8n,
+    STREAM: 1n << 9n,
+    VIEW_CHANNEL: 1n << 10n,
+    SEND_MESSAGES: 1n << 11n,
+    SEND_TTS_MESSAGES: 1n << 12n,
+    MANAGE_MESSAGES: 1n << 13n,
+    EMBED_LINKS: 1n << 14n,
+    ATTACH_FILES: 1n << 15n,
+    READ_MESSAGE_HISTORY: 1n << 16n,
+    MENTION_EVERYONE: 1n << 17n,
+    USE_EXTERNAL_EMOJIS: 1n << 18n,
+    VIEW_GUILD_INSIGHTS: 1n << 19n,
+    CONNECT: 1n << 20n,
+    SPEAK: 1n << 21n,
+    MUTE_MEMBERS: 1n << 22n,
+    DEAFEN_MEMBERS: 1n << 23n,
+    MOVE_MEMBERS: 1n << 24n,
+    USE_VAD: 1n << 25n,
+    CHANGE_NICKNAME: 1n << 26n,
+    MANAGE_NICKNAMES: 1n << 27n,
+    MANAGE_ROLES: 1n << 28n,
+    MANAGE_WEBHOOKS: 1n << 29n,
+    MANAGE_EMOJIS: 1n << 30n,
+};
+//# sourceMappingURL=Permissions.js.map
\ No newline at end of file