diff options
Diffstat (limited to 'src/utils/update-permissions-for-guild.ts')
| -rw-r--r-- | src/utils/update-permissions-for-guild.ts | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/src/utils/update-permissions-for-guild.ts b/src/utils/update-permissions-for-guild.ts deleted file mode 100644 index 64110a7..0000000 --- a/src/utils/update-permissions-for-guild.ts +++ /dev/null @@ -1,53 +0,0 @@ -import {ApplicationCommandPermissionData, Guild} from 'discord.js'; -import {prisma} from './db.js'; - -const COMMANDS_TO_LIMIT_TO_GUILD_OWNER = ['config']; - -const updatePermissionsForGuild = async (guild: Guild) => { - const settings = await prisma.setting.findUnique({ - where: { - guildId: guild.id, - }, - }); - - if (!settings) { - throw new Error('could not find settings for guild'); - } - - const permissions: ApplicationCommandPermissionData[] = [ - { - id: guild.ownerId, - type: 'USER', - permission: true, - }, - { - id: guild.roles.everyone.id, - type: 'ROLE', - permission: false, - }, - ]; - - if (settings.invitedByUserId) { - permissions.push({ - id: settings.invitedByUserId, - type: 'USER', - permission: true, - }); - } - - const commands = await guild.commands.fetch(); - - await guild.commands.permissions.set({fullPermissions: commands.map(command => ({ - id: command.id, - permissions: COMMANDS_TO_LIMIT_TO_GUILD_OWNER.includes(command.name) ? permissions : [ - ...permissions, - ...(settings.roleId ? [{ - id: settings.roleId, - type: 'ROLE' as const, - permission: true, - }] : []), - ], - }))}); -}; - -export default updatePermissionsForGuild; |
