3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-19 16:05:01 +00:00
zeppelin/backend/src/plugins/MessageSaver/saveMessagesToDB.ts

35 lines
793 B
TypeScript

import { MessageSaverPluginType } from "./types";
import { PluginData } from "knub";
import { TextChannel, Message } from "eris";
export async function saveMessagesToDB(
pluginData: PluginData<MessageSaverPluginType>,
channel: TextChannel,
ids: string[],
) {
const failed = [];
for (const id of ids) {
const savedMessage = await pluginData.state.savedMessages.find(id);
if (savedMessage) continue;
let thisMsg: Message;
try {
thisMsg = await channel.getMessage(id);
if (!thisMsg) {
failed.push(id);
continue;
}
await pluginData.state.savedMessages.createFromMsg(thisMsg, { is_permanent: true });
} catch (e) {
failed.push(id);
}
}
return {
savedCount: ids.length - failed.length,
failed,
};
}