const { Permissions } = require("detritus-client/lib/constants") module.exports.PERMISSIONS_TEXT = Object.freeze({ [Permissions.ADD_REACTIONS]: "Add Reactions", [Permissions.ADMINISTRATOR]: "Administrator", [Permissions.ATTACH_FILES]: "Attach Files", [Permissions.BAN_MEMBERS]: "Ban Members", [Permissions.CHANGE_NICKNAME]: "Change Nickname", [Permissions.CHANGE_NICKNAMES]: "Manage Nicknames", [Permissions.CONNECT]: "Connect", [Permissions.CREATE_INSTANT_INVITE]: "Create Invites", [Permissions.DEAFEN_MEMBERS]: "Deafen Members", [Permissions.EMBED_LINKS]: "Embed Links", [Permissions.KICK_MEMBERS]: "Kick Members", [Permissions.MANAGE_CHANNELS]: "Manage Channels", [1 << 30]: "Manage Expressions", // [Permissions.MANAGE_GUILD]: "Manage Server", [Permissions.MANAGE_MESSAGES]: "Manage Messages", [Permissions.MANAGE_ROLES]: "Manage Roles", [Permissions.MANAGE_WEBHOOKS]: "Manage Webhooks", [Permissions.MENTION_EVERYONE]: "Mention Everyone", [Permissions.MOVE_MEMBERS]: "Move Members", [Permissions.MUTE_MEMBERS]: "Mute Members", [Permissions.NONE]: "None", [Permissions.PRIORITY_SPEAKER]: "Priority Speaker", [Permissions.READ_MESSAGE_HISTORY]: "Read Message History", [Permissions.SEND_MESSAGES]: "Send Messages", [Permissions.SEND_TTS_MESSAGES]: "Text-To-Speech", [Permissions.SPEAK]: "Speak", [Permissions.STREAM]: "Video", [Permissions.USE_EXTERNAL_EMOJIS]: "Use External Emojis", [Permissions.USE_VAD]: "Voice Auto Detect", [Permissions.VIEW_AUDIT_LOG]: "View Audit Logs", [Permissions.VIEW_CHANNEL]: "View Channel", [Permissions.VIEW_GUILD_ANALYTICS]: "View Server Insights", [Permissions.MANAGE_EVENTS]: "Manage Events", [Permissions.MANAGE_THREADS]: "Manage Threads", [Permissions.REQUEST_TO_SPEAK]: "Request to Speak", [Permissions.SEND_MESSAGES_IN_THREADS]: "Send Messages in Threads", [Permissions.USE_APPLICATION_COMMANDS]: "Use Application Commands", [Permissions.USE_EXTERNAL_STICKERS]: "Use External Stickers", [Permissions.USE_PRIVATE_THREADS]: "Create Private Threads", [Permissions.USE_PUBLIC_THREADS]: "Create Public Threads", [1 << 39]: "Use Activities", [1 << 40]: "Time out members", [1 << 41]: "View Server Subscription Insights", [1 << 42]: "Use Soundboard", [1 << 43]: "Create Expressions", [1 << 44]: "Create Events", [1 << 45]: "Use External Sounds", [1 << 46]: "Send Voice Messages", [1 << 47]: "Use Clyde AI", [1 << 48]: "Set Voice Channel Status", [1 << 49]: "Create Polls", [1 << 50]: "Use External Apps" }); module.exports.PERMISSION_CATEGORIES = Object.freeze({ GENERAL_SERVER: [ Permissions.VIEW_CHANNEL, Permissions.MANAGE_CHANNELS, Permissions.MANAGE_ROLES, Permissions.MANAGE_EMOJIS, 1 << 43, // Create expressions Permissions.VIEW_AUDIT_LOG, Permissions.VIEW_GUILD_ANALYTICS, 1 << 41, // View subscription analytics Permissions.MANAGE_WEBHOOKS, Permissions.MANAGE_GUILD ], MEMBERSHIP_PERMISSIONS: [ Permissions.CREATE_INSTANT_INVITE, Permissions.CHANGE_NICKNAME, Permissions.CHANGE_NICKNAMES, Permissions.KICK_MEMBERS, Permissions.BAN_MEMBERS, 1 << 40 // Time out members ], TEXT_CHANNEL_PERMISSIONS: [ Permissions.SEND_MESSAGES, Permissions.SEND_MESSAGES_IN_THREADS, Permissions.USE_PUBLIC_THREADS, Permissions.USE_PRIVATE_THREADS, Permissions.EMBED_LINKS, Permissions.ATTACH_FILES, Permissions.ADD_REACTIONS, Permissions.USE_EXTERNAL_EMOJIS, Permissions.USE_EXTERNAL_STICKERS, Permissions.MENTION_EVERYONE, Permissions.MANAGE_MESSAGES, Permissions.MANAGE_THREADS, Permissions.READ_MESSAGE_HISTORY, Permissions.SEND_TTS_MESSAGES, 1 << 46, // Send Voice Messages 1 << 49 // Create Polls ], VOICE_CHANNEL_PERMISSIONS: [ Permissions.CONNECT, Permissions.SPEAK, Permissions.STREAM, 1 << 42, // Use soundboard 1 << 45, // Use external sounds Permissions.USE_VAD, Permissions.PRIORITY_SPEAKER, Permissions.MUTE_MEMBERS, Permissions.DEAFEN_MEMBERS, Permissions.MOVE_MEMBERS, 1 << 48 // Set voice channel status ], APPS_PERMISSIONS: [ Permissions.USE_APPLICATION_COMMANDS, 1 << 39, // Use Activities 1 << 50 // Use External Apps ], STAGE_CHANNEL_PERMISSIONS: [ Permissions.REQUEST_TO_SPEAK ], EVENTS_PERMISSIONS: [ 1 << 44, // Create Events Permissions.MANAGE_EVENTS ], ADVANCED_PERMISSIONS: [ Permissions.ADMINISTRATOR ] })