|
1 |
| -import { database, logger } from '$/context' |
2 |
| -import { appliedPresets } from '$/database/schemas' |
3 | 1 | import { applyCommonEmbedStyles } from '$/utils/discord/embeds'
|
4 | 2 | import { on, withContext } from '$/utils/discord/events'
|
5 |
| -import { removeRolePreset } from '$/utils/discord/rolePresets' |
6 |
| -import { and, eq, lt } from 'drizzle-orm' |
7 |
| - |
8 |
| -import { type Client, DiscordAPIError } from 'discord.js' |
9 | 3 |
|
10 | 4 | export default withContext(on, 'ready', async ({ config, discord, logger }, client) => {
|
11 |
| - logger.info(`Connected to Discord API, logged in as ${client.user.displayName} (@${client.user.tag})!`) |
12 |
| - logger.info(`Bot is in ${client.guilds.cache.size} guilds`) |
13 |
| - |
14 | 5 | if (config.stickyMessages)
|
15 | 6 | for (const [guildId, channels] of Object.entries(config.stickyMessages)) {
|
16 | 7 | const guild = await client.guilds.fetch(guildId)
|
@@ -68,38 +59,4 @@ export default withContext(on, 'ready', async ({ config, discord, logger }, clie
|
68 | 59 | await send()
|
69 | 60 | }
|
70 | 61 | }
|
71 |
| - |
72 |
| - if (config.rolePresets) { |
73 |
| - removeExpiredPresets(client) |
74 |
| - setTimeout(() => removeExpiredPresets(client), config.rolePresets.checkExpiredEvery) |
75 |
| - } |
76 | 62 | })
|
77 |
| - |
78 |
| -const removeExpiredPresets = async (client: Client) => { |
79 |
| - logger.debug('Checking for expired role presets...') |
80 |
| - |
81 |
| - const expireds = await database.query.appliedPresets.findMany({ |
82 |
| - where: lt(appliedPresets.until, Math.floor(Date.now() / 1000)), |
83 |
| - }) |
84 |
| - |
85 |
| - for (const expired of expireds) { |
86 |
| - try { |
87 |
| - logger.debug(`Removing role preset for ${expired.memberId} in ${expired.guildId}`) |
88 |
| - |
89 |
| - const guild = await client.guilds.fetch(expired.guildId) |
90 |
| - const member = await guild.members.fetch(expired.memberId) |
91 |
| - |
92 |
| - await removeRolePreset(member, expired.preset) |
93 |
| - } catch (e) { |
94 |
| - // Unknown Member: https://discord.com/developers/docs/topics/opcodes-and-status-codes#json |
95 |
| - if (!(e instanceof DiscordAPIError) || e.code !== 10007) { |
96 |
| - logger.error(`Error while removing role preset for ${expired.memberId} in ${expired.guildId}: ${e}`) |
97 |
| - continue |
98 |
| - } |
99 |
| - } |
100 |
| - |
101 |
| - await database |
102 |
| - .delete(appliedPresets) |
103 |
| - .where(and(eq(appliedPresets.guildId, expired.guildId), eq(appliedPresets.memberId, expired.memberId))) |
104 |
| - } |
105 |
| -} |
0 commit comments