mirror of
https://github.com/nx-bat/discordbot-ng.git
synced 2026-11-11 07:13:37 -05:00
[Events] Events become classes with typings. (#19)
This commit is contained in:
@@ -1,18 +1,20 @@
|
||||
import { GuildTextBasedChannel, Message, OmitPartialGroupDMChannel, PartialMessage, ReadonlyCollection } from 'discord.js';
|
||||
import { Client, GuildTextBasedChannel, Message, OmitPartialGroupDMChannel, PartialMessage, ReadonlyCollection } from 'discord.js';
|
||||
import { Database } from '../../shared/Database';
|
||||
import { Event } from '../../types';
|
||||
import { logDeletion } from '../../utils';
|
||||
|
||||
export default {
|
||||
event: 'messageDeleteBulk',
|
||||
class MessageDeleteBulkEvent implements Event<Client, 'messageDeleteBulk'> {
|
||||
event = 'messageDeleteBulk' as const;
|
||||
|
||||
handler: async (messages: ReadonlyCollection<string, Message | OmitPartialGroupDMChannel<PartialMessage>>, channel: GuildTextBasedChannel) => {
|
||||
async execute(context: Client<boolean>, messages: ReadonlyCollection<string, Message | OmitPartialGroupDMChannel<PartialMessage>>, channel: GuildTextBasedChannel): Promise<void> {
|
||||
for (const message of messages.values()) {
|
||||
const loggedMessage = await Database.getMessageWithRetry(message.id);
|
||||
if (!loggedMessage) continue;
|
||||
|
||||
await Database.removeMessge(message.id);
|
||||
|
||||
if (message.inGuild()) await logDeletion(loggedMessage, message);
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
export default new MessageDeleteBulkEvent();
|
||||
|
||||
Reference in New Issue
Block a user