Migrate MessageSaver to new Plugin structure

This commit is contained in:
Dark 2020-07-20 23:22:42 +02:00
parent b6257b9189
commit f83d7122b9
7 changed files with 221 additions and 0 deletions

View file

@ -0,0 +1,53 @@
import { messageSaverEvt } from "../types";
import { Message } from "eris";
export const MessageCreateEvt = messageSaverEvt({
event: "messageCreate",
allowOutsideOfGuild: false,
async listener(meta) {
// Only save regular chat messages
if (meta.args.message.type !== 0) {
return;
}
await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message);
},
});
export const MessageUpdateEvt = messageSaverEvt({
event: "messageUpdate",
allowOutsideOfGuild: false,
async listener(meta) {
if (meta.args.message.type !== 0) {
return;
}
await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.message);
},
});
export const MessageDeleteEvt = messageSaverEvt({
event: "messageDelete",
allowOutsideOfGuild: false,
async listener(meta) {
const msg = meta.args.message as Message;
if (msg.type != null && msg.type !== 0) {
return;
}
await meta.pluginData.state.savedMessages.markAsDeleted(msg.id);
},
});
export const MessageDeleteBulkEvt = messageSaverEvt({
event: "messageDeleteBulk",
allowOutsideOfGuild: false,
async listener(meta) {
const ids = meta.args.messages.map(m => m.id);
await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids);
},
});