import { Client, Events, Message, OmitPartialGroupDMChannel } from "discord.js"; import { SQLResult } from "../storage/enumerations"; import { SQLCommon } from "../storage/interfaces"; import { insertChannel } from "../discord/channels"; import { insertUser } from "../discord/users"; import { insertMessage } from "../discord/messages"; export function setupMessageCapture(client: Client, db: SQLCommon) { client.on(Events.MessageCreate, async (message) => { processMessageCreate(db, message) }) } async function processMessageCreate(db: SQLCommon, message: OmitPartialGroupDMChannel>) { const channelOk: SQLResult = await insertChannel(db, message.channel) const userOk: SQLResult = await insertUser(db, message.author) if (channelOk == SQLResult.ALREADYEXISTS || channelOk == SQLResult.CREATED || userOk == SQLResult.ALREADYEXISTS || userOk == SQLResult.CREATED) { await insertMessage(db, message) } }