zappyzep/src/plugins/MessageSaver.ts
2018-11-24 14:18:48 +02:00

39 lines
952 B
TypeScript

import { Plugin, decorators as d } from "knub";
import { Message } from "eris";
import { GuildSavedMessages } from "../data/GuildSavedMessages";
export class MessageSaverPlugin extends Plugin {
protected savedMessages: GuildSavedMessages;
onLoad() {
this.savedMessages = GuildSavedMessages.getInstance(this.guildId);
}
@d.event("messageCreate", "guild", false)
async onMessageCreate(msg: Message) {
// Only save regular chat messages
if (msg.type !== 0) {
return;
}
await this.savedMessages.createFromMsg(msg);
}
@d.event("messageDelete", "guild", false)
async onMessageDelete(msg: Message) {
if (msg.type != null && msg.type !== 0) {
return;
}
await this.savedMessages.markAsDeleted(msg.id);
}
@d.event("messageUpdate", "guild", false)
async onMessageUpdate(msg: Message) {
if (msg.type !== 0) {
return;
}
await this.savedMessages.saveEditFromMsg(msg);
}
}