33 lines
845 B
JavaScript
33 lines
845 B
JavaScript
'use strict';
|
|
|
|
const Action = require('./Action');
|
|
const { deletedMessages } = require('../../structures/Message');
|
|
const { Events } = require('../../util/Constants');
|
|
|
|
class MessageDeleteAction extends Action {
|
|
handle(data) {
|
|
const client = this.client;
|
|
const channel = this.getChannel(data);
|
|
let message;
|
|
if (channel) {
|
|
if (!channel.isText()) return {};
|
|
|
|
message = this.getMessage(data, channel);
|
|
if (message) {
|
|
channel.messages.cache.delete(message.id);
|
|
deletedMessages.add(message);
|
|
/**
|
|
* Emitted whenever a message is deleted.
|
|
* @event Client#messageDelete
|
|
* @param {Message} message The deleted message
|
|
*/
|
|
client.emit(Events.MESSAGE_DELETE, message);
|
|
}
|
|
}
|
|
|
|
return { message };
|
|
}
|
|
}
|
|
|
|
module.exports = MessageDeleteAction;
|