mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-11 09:03:29 +01:00
40 lines
1.0 KiB
JavaScript
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;
|