3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-06-15 18:45:03 +00:00

fix: automod change_perms action config types

This commit is contained in:
Dragory 2025-05-31 21:58:09 +00:00
parent 1a5f89c332
commit dd939895e8
No known key found for this signature in database

View file

@ -65,11 +65,17 @@ const permissionNames = keys(PermissionsBitField.Flags) as U.ListOf<keyof typeof
const legacyPermissionNames = keys(legacyPermMap) as U.ListOf<keyof typeof legacyPermMap>;
const allPermissionNames = [...permissionNames, ...legacyPermissionNames] as const;
const permissionTypeMap = allPermissionNames.reduce((map, permName) => {
map[permName] = z.boolean().nullable();
return map;
}, {} as Record<typeof allPermissionNames[number], z.ZodNullable<z.ZodBoolean>>);
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 }) {