Files
discord.js/src/client/actions/MessageCreate.js

40 lines
1.0 KiB
JavaScript

const Action = require('./Action');
const { Events } = require('../../util/Constants');
class MessageCreateAction extends Action {
handle(data) {
const client = this.client;
const channel = client.channels.get(data.channel_id);
if (channel) {
const existing = channel.messages.get(data.id);
if (existing) return { message: existing };
const message = channel.messages.create(data);
const user = message.author;
const member = channel.guild ? channel.guild.member(user) : null;
channel.lastMessageID = data.id;
channel.lastMessage = message;
if (user) {
user.lastMessageID = data.id;
user.lastMessage = message;
}
if (member) {
member.lastMessageID = data.id;
member.lastMessage = message;
}
client.emit(Events.MESSAGE_CREATE, message);
return { message };
}
return {};
}
}
/**
* Emitted whenever a message is created.
* @event Client#message
* @param {Message} message The created message
*/
module.exports = MessageCreateAction;