move scheduling of pollclose task to startup
	
		
			
	
		
	
	
		
	
		
			All checks were successful
		
		
	
	
		
			
				
	
				Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m37s
				
			
		
		
	
	
				
					
				
			
		
			All checks were successful
		
		
	
	Build a docker image for node-jellyfin-role-bot / build-docker-image (push) Successful in 1m37s
				
			Also moved check function to closepoll.ts
This commit is contained in:
		@@ -8,6 +8,7 @@ import { Maybe } from "../interfaces";
 | 
			
		||||
import { JellyfinHandler } from "../jellyfin/handler";
 | 
			
		||||
import { logger } from "../logger";
 | 
			
		||||
import { CommandType } from "../types/commandTypes";
 | 
			
		||||
import { checkForPollsToClose } from "../commands/closepoll";
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -16,8 +17,9 @@ export class ExtendedClient extends Client {
 | 
			
		||||
  private commandFilePath = `${__dirname}/../commands`
 | 
			
		||||
  private jellyfin: JellyfinHandler
 | 
			
		||||
  public commands: Collection<string, CommandType> = new Collection()
 | 
			
		||||
  private announcementChannels: Collection<string, TextChannel> = new Collection //guildId to TextChannel
 | 
			
		||||
  private announcementRoleHandlerTask: Collection<string, ScheduledTask> = new Collection //one task per guild
 | 
			
		||||
  private announcementChannels: Collection<string, TextChannel> = new Collection() //guildId to TextChannel
 | 
			
		||||
  private announcementRoleHandlerTask: Collection<string, ScheduledTask> = new Collection() //one task per guild
 | 
			
		||||
  private pollCloseBackgroundTasks: Collection<string, ScheduledTask> = new Collection()
 | 
			
		||||
  public constructor(jf: JellyfinHandler) {
 | 
			
		||||
    const intents: IntentsBitField = new IntentsBitField()
 | 
			
		||||
    intents.add(IntentsBitField.Flags.GuildMembers, IntentsBitField.Flags.MessageContent, IntentsBitField.Flags.Guilds, IntentsBitField.Flags.DirectMessages, IntentsBitField.Flags.GuildScheduledEvents, IntentsBitField.Flags.GuildVoiceStates)
 | 
			
		||||
@@ -73,6 +75,7 @@ export class ExtendedClient extends Client {
 | 
			
		||||
        this.cacheUsers(guilds)
 | 
			
		||||
        await this.cacheAnnouncementServer(guilds)
 | 
			
		||||
        this.startAnnouncementRoleBackgroundTask(guilds)
 | 
			
		||||
        this.startPollCloceBackgroundTasks()
 | 
			
		||||
      })
 | 
			
		||||
    } catch (error) {
 | 
			
		||||
      logger.info(`Error refreshing slash commands: ${error}`)
 | 
			
		||||
@@ -169,4 +172,10 @@ export class ExtendedClient extends Client {
 | 
			
		||||
    }
 | 
			
		||||
    task.stop()
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  private async startPollCloceBackgroundTasks() {
 | 
			
		||||
    for(const guild of this.guilds.cache) {
 | 
			
		||||
      this.pollCloseBackgroundTasks.set(guild[1].id, schedule("0 * * * * *", () => checkForPollsToClose(guild[1])))
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user