Some code reorganisation

This commit is contained in:
Dragory 2018-11-24 14:18:48 +02:00
parent ba2ad8a528
commit b692c06b4f
2 changed files with 49 additions and 36 deletions

View file

@ -1,26 +1,12 @@
import { Plugin, decorators as d } from "knub";
import { Message } from "eris";
import { GuildSavedMessages } from "../data/GuildSavedMessages";
import { ISavedMessageData } from "../data/entities/SavedMessage";
import moment from "moment-timezone";
export class MessageSaverPlugin extends Plugin {
protected messages: GuildSavedMessages;
protected savedMessages: GuildSavedMessages;
onLoad() {
this.messages = GuildSavedMessages.getInstance(this.guildId);
}
protected msgToSavedMessageData(msg: Message): ISavedMessageData {
return {
attachments: msg.attachments,
author: {
username: msg.author.username,
discriminator: msg.author.discriminator
},
content: msg.content,
embeds: msg.embeds
};
this.savedMessages = GuildSavedMessages.getInstance(this.guildId);
}
@d.event("messageCreate", "guild", false)
@ -30,34 +16,24 @@ export class MessageSaverPlugin extends Plugin {
return;
}
const data: ISavedMessageData = this.msgToSavedMessageData(msg);
const postedAt = moment.utc(msg.timestamp, "x").format("YYYY-MM-DD HH:mm:ss.SSS");
await this.messages.create({
id: msg.id,
channel_id: msg.channel.id,
user_id: msg.author.id,
is_bot: msg.author.bot,
data,
posted_at: postedAt
});
await this.savedMessages.createFromMsg(msg);
}
@d.event("messageDelete", "guild", false)
async onMessageDelete(msg: Message) {
const savedMessage = await this.messages.find(msg.id);
if (!savedMessage) return;
if (msg.type != null && msg.type !== 0) {
return;
}
await this.messages.markAsDeleted(msg.id);
await this.savedMessages.markAsDeleted(msg.id);
}
@d.event("messageUpdate", "guild", false)
async onMessageUpdate(msg: Message) {
const savedMessage = await this.messages.find(msg.id);
if (!savedMessage) return;
if (msg.type !== 0) {
return;
}
const newData = this.msgToSavedMessageData(msg);
await this.messages.edit(msg.id, newData);
await this.savedMessages.saveEditFromMsg(msg);
}
}