import { Client, Events } from "discord.js"; import { insertRole, markRoleDeleted, updateRole } from "../discord/roles"; import { insertGuild } from "../discord/guilds"; import { Repository } from "typeorm"; import { DBServer } from "../storage/entities/DBServer"; import { DBRole } from "../storage/entities/DBRole"; export function setupRoleCapture(client: Client, guildDB: Repository, roleDB: Repository) { client.on(Events.GuildRoleCreate, async (role) => { const serverOk: DBServer | null = await insertGuild(guildDB, role.guild) if (serverOk != null) { await insertRole(roleDB, role) } }) client.on(Events.GuildRoleUpdate, async (role) => { await updateRole(roleDB, role) }) client.on(Events.GuildRoleDelete, async (role) => { await markRoleDeleted(roleDB, role) }) }