24 lines
871 B
TypeScript
24 lines
871 B
TypeScript
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<DBServer>, roleDB: Repository<DBRole>) {
|
|
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)
|
|
})
|
|
} |