Skip to content

Commit 7588dbd

Browse files
committed
bug: fix issue where discord bot job would be schedule even if not available
1 parent 01ee94a commit 7588dbd

4 files changed

Lines changed: 26 additions & 20 deletions

File tree

src/discord-bot/discord-bot-voice-channels/discord-bot-voice-channels.service.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,10 @@ export class DiscordBotVoiceChannelsService {
155155
voiceChannelId,
156156
)) as GuildChannel;
157157

158+
if (!channel) {
159+
return;
160+
}
161+
158162
for (const [, member] of channel.members) {
159163
await member.voice.setChannel(originalChannelId).catch((error) => {
160164
if (error.code !== 50013) {

src/discord-bot/discord-bot.module.ts

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { DiscordBotVetoService } from "./discord-bot-veto/discord-bot-veto.servi
99
import { CacheModule } from "../cache/cache.module";
1010
import { HasuraModule } from "../hasura/hasura.module";
1111
import { MatchesModule } from "../matches/matches.module";
12-
import { BullModule, InjectQueue } from "@nestjs/bullmq";
12+
import { BullModule } from "@nestjs/bullmq";
1313
import { BullBoardModule } from "@bull-board/nestjs";
1414
import { BullMQAdapter } from "@bull-board/api/bullMQAdapter";
1515
import { DiscordBotQueues } from "./enums/DiscordBotQueues";
@@ -18,7 +18,6 @@ import { loggerFactory } from "../utilities/LoggerFactory";
1818
import { getQueuesProcessors } from "../utilities/QueueProcessors";
1919
import { DiscordBotInteractionModule } from "./interactions/discord-bot-interaction.module";
2020
import { RemoveArchivedThreads } from "./jobs/RemoveArchivedThreads";
21-
import { Queue } from "bullmq";
2221

2322
@Module({
2423
imports: [
@@ -56,20 +55,4 @@ import { Queue } from "bullmq";
5655
],
5756
controllers: [DiscordBotController],
5857
})
59-
export class DiscordBotModule {
60-
constructor(@InjectQueue(DiscordBotQueues.DiscordBot) private queue: Queue) {
61-
if (process.env.RUN_MIGRATIONS) {
62-
return;
63-
}
64-
65-
void queue.add(
66-
RemoveArchivedThreads.name,
67-
{},
68-
{
69-
repeat: {
70-
pattern: "0 * * * *",
71-
},
72-
},
73-
);
74-
}
75-
}
58+
export class DiscordBotModule {}

src/discord-bot/discord-bot.service.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ import { interactions } from "./interactions/interactions";
2020
import DiscordInteraction from "./interactions/abstracts/DiscordInteraction";
2121
import { Type } from "@nestjs/common";
2222
import MiniSearch from "minisearch";
23+
import { Queue } from "bullmq";
24+
import { DiscordBotQueues } from "./enums/DiscordBotQueues";
25+
import { InjectQueue } from "@nestjs/bullmq";
26+
import { RemoveArchivedThreads } from "./jobs/RemoveArchivedThreads";
2327

2428
let client: Client;
2529

@@ -45,6 +49,7 @@ export class DiscordBotService {
4549
private readonly logger: Logger,
4650
private readonly hasura: HasuraService,
4751
private readonly moduleRef: ModuleRef,
52+
@InjectQueue(DiscordBotQueues.DiscordBot) private queue: Queue,
4853
) {
4954
this.client = client;
5055
this.discordConfig = config.get<DiscordConfig>("discord");
@@ -144,6 +149,16 @@ export class DiscordBotService {
144149
return;
145150
}
146151

152+
void this.queue.add(
153+
RemoveArchivedThreads.name,
154+
{},
155+
{
156+
repeat: {
157+
pattern: "0 * * * *",
158+
},
159+
},
160+
);
161+
147162
const rest = new REST({ version: "10" }).setToken(this.discordConfig.token);
148163

149164
try {

src/discord-bot/jobs/RemoveArchivedThreads.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@ import { WorkerHost } from "@nestjs/bullmq";
22
import { DiscordBotQueues } from "../enums/DiscordBotQueues";
33
import { UseQueue } from "../../utilities/QueueProcessors";
44
import { DiscordBotMessagingService } from "../discord-bot-messaging/discord-bot-messaging.service";
5+
import { forwardRef, Inject } from "@nestjs/common";
56

67
@UseQueue("DiscordBot", DiscordBotQueues.DiscordBot)
78
export class RemoveArchivedThreads extends WorkerHost {
8-
constructor(private readonly messagingService: DiscordBotMessagingService) {
9+
constructor(
10+
@Inject(forwardRef(() => DiscordBotMessagingService))
11+
private readonly messagingService: DiscordBotMessagingService,
12+
) {
913
super();
1014
}
1115

0 commit comments

Comments
 (0)