3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-16 06:35:03 +00:00
zeppelin/backend/src/plugins/MessageSaver/saveMessagesToDB.ts
2020-10-01 01:43:38 +03:00

35 lines
803 B
TypeScript

import { MessageSaverPluginType } from "./types";
import { GuildPluginData } from "knub";
import { Message, TextChannel } from "eris";
export async function saveMessagesToDB(
pluginData: GuildPluginData<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,
};
}