diff --git a/backend/src/plugins/Automod/actions/changePerms.ts b/backend/src/plugins/Automod/actions/changePerms.ts index c699b8a7..e70bbb05 100644 --- a/backend/src/plugins/Automod/actions/changePerms.ts +++ b/backend/src/plugins/Automod/actions/changePerms.ts @@ -65,11 +65,17 @@ const permissionNames = keys(PermissionsBitField.Flags) as U.ListOf; const allPermissionNames = [...permissionNames, ...legacyPermissionNames] as const; +const permissionTypeMap = allPermissionNames.reduce((map, permName) => { + map[permName] = z.boolean().nullable(); + return map; +}, {} as Record>); +const zPermissionsMap = z.strictObject(permissionTypeMap); + export const ChangePermsAction = automodAction({ configSchema: z.strictObject({ target: zBoundedCharacters(1, 2000), channel: zBoundedCharacters(1, 2000).nullable().default(null), - perms: z.record(z.enum(allPermissionNames), z.boolean().nullable()), + perms: zPermissionsMap.partial(), }), async apply({ pluginData, contexts, actionConfig, ruleName }) {