mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-05-23 01:25:02 +00:00
66 lines
1.6 KiB
TypeScript
66 lines
1.6 KiB
TypeScript
import { Message } from "discord.js";
|
|
import { messageSaverEvt } from "../types";
|
|
|
|
export const MessageCreateEvt = messageSaverEvt({
|
|
event: "messageCreate",
|
|
allowBots: true,
|
|
allowSelf: true,
|
|
|
|
async listener(meta) {
|
|
// Only save regular chat messages
|
|
if (meta.args.message.type !== "DEFAULT" && meta.args.message.type !== "REPLY") {
|
|
return;
|
|
}
|
|
|
|
// Don't save partial messages
|
|
if (meta.args.message.partial) {
|
|
return;
|
|
}
|
|
|
|
await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message);
|
|
},
|
|
});
|
|
|
|
export const MessageUpdateEvt = messageSaverEvt({
|
|
event: "messageUpdate",
|
|
allowBots: true,
|
|
allowSelf: true,
|
|
|
|
async listener(meta) {
|
|
if (meta.args.newMessage.type !== "DEFAULT" && meta.args.newMessage.type !== "REPLY") {
|
|
return;
|
|
}
|
|
|
|
if (meta.args.oldMessage?.partial) {
|
|
return;
|
|
}
|
|
|
|
await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.newMessage as Message);
|
|
},
|
|
});
|
|
|
|
export const MessageDeleteEvt = messageSaverEvt({
|
|
event: "messageDelete",
|
|
allowBots: true,
|
|
allowSelf: true,
|
|
|
|
async listener(meta) {
|
|
const msg = meta.args.message as Message;
|
|
if (msg.type != null && meta.args.message.type !== "DEFAULT" && meta.args.message.type !== "REPLY") {
|
|
return;
|
|
}
|
|
|
|
await meta.pluginData.state.savedMessages.markAsDeleted(msg.id);
|
|
},
|
|
});
|
|
|
|
export const MessageDeleteBulkEvt = messageSaverEvt({
|
|
event: "messageDeleteBulk",
|
|
allowBots: true,
|
|
allowSelf: true,
|
|
|
|
async listener(meta) {
|
|
const ids = meta.args.messages.map(m => m.id);
|
|
await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids);
|
|
},
|
|
});
|