@@ -8,7 +8,7 @@ import { FLAMEWARDEN_ROLE, getGrindRoles, GRINDER_ROLE } from '@config/discord'
88import { GOODBYE_NOTE_BUTTON_ID , ResetGrinderRolesButtonError } from '@events/interaction-create/jobs/handlers/reset-grinder-roles-button'
99import { decodeSnowflakes , encodeSnowflake , getCustomId } from '@utils/component'
1010import { isDateToday , isDateYesterday } from '@utils/date'
11- import { DiscordAssert , getChannel , sendAsBot } from '@utils/discord'
11+ import { DiscordAssert , getChannel , getMember , sendAsBot } from '@utils/discord'
1212import { log } from '@utils/logger'
1313import { ActionRowBuilder , ButtonBuilder , ButtonStyle } from 'discord.js'
1414import { ResetGrinderRolesMessage } from '../messages/reset-grinder-roles'
@@ -91,6 +91,8 @@ export class ResetGrinderRoles extends ResetGrinderRolesMessage {
9191 }
9292
9393 static async validateUsers ( prisma : PrismaClient , guild : Guild , grindAshesChannel : TextChannel , auditFlameChannel : TextChannel , users : User [ ] ) {
94+ await guild . members . fetch ( { withPresences : false } )
95+
9496 for ( const user of users ) {
9597 const checkinStreak = user . checkin_streaks ?. [ 0 ]
9698 if ( ! checkinStreak )
@@ -100,7 +102,7 @@ export class ResetGrinderRoles extends ResetGrinderRolesMessage {
100102 if ( this . hasValidCheckin ( lastCheckin ) )
101103 continue
102104
103- const member = await guild . members . fetch ( user . discord_id )
105+ const member = await getMember ( guild , user . discord_id )
104106 await this . removeGrinderRoles ( member )
105107 await this . breakCheckinStreakAt ( prisma , checkinStreak , lastCheckin ! )
106108 const thread = await this . validateWaitingCheckin ( guild , auditFlameChannel , member , user , lastCheckin ! )
0 commit comments