feat(ban): accept delete_message_seconds and app options (#2086)

This commit is contained in:
Hampus authored and GitHub committed 2026-08-29 16:22:12 +02:00
1 parent 9f099a9127
commit 805acf4e5e
48 files changed
+1358 -121

No files matched your search

@@ -9,28 +9,28 @@ import {getWorkerDependencies} from '../WorkerContext';
const PayloadSchema = z.object({
guildId: z.string(),
userId: z.string(),
days: z.number().min(0).max(7),
seconds: z.number().min(0).max(604800),
});
const deleteUserMessagesInGuildByTime: WorkerTaskHandler = async (payload, helpers) => {
const validated = PayloadSchema.parse(payload);
helpers.logger.debug({payload: validated}, 'Processing deleteUserMessagesInGuildByTime task');
const guildId = createGuildID(BigInt(validated.guildId));
const userId = createUserID(BigInt(validated.userId));
const {days} = validated;
const {seconds} = validated;
Logger.debug(
{guildId: guildId.toString(), userId: userId.toString(), days},
{guildId: guildId.toString(), userId: userId.toString(), seconds},
'Starting time-based message deletion for guild ban',
);
try {
const {channelService} = getWorkerDependencies();
await channelService.messages.deletion.deleteUserMessagesInGuild({guildId, userId, days});
await channelService.messages.deletion.deleteUserMessagesInGuild({guildId, userId, seconds});
Logger.debug(
{guildId: guildId.toString(), userId: userId.toString(), days},
{guildId: guildId.toString(), userId: userId.toString(), seconds},
'Time-based message deletion completed successfully',
);
} catch (error) {
Logger.error(
{guildId: guildId.toString(), userId: userId.toString(), days, error},
{guildId: guildId.toString(), userId: userId.toString(), seconds, error},
'Failed to delete user messages in guild',
);
throw error;