Skip to content

Commit 29f6122

Browse files
committedDec 27, 2024·
Refactor WelcomerManager to reuse a single CoroutineScope
1 parent 1835000 commit 29f6122

File tree

1 file changed

+7
-9
lines changed

1 file changed

+7
-9
lines changed
 

‎foxy/src/main/kotlin/net/cakeyfox/foxy/modules/welcomer/WelcomerManager.kt

+7-9
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,12 @@ import net.dv8tion.jda.api.events.guild.member.GuildMemberRemoveEvent
1212

1313
class WelcomerManager(
1414
val foxy: FoxyInstance
15-
): WelcomerWrapper {
15+
) : WelcomerWrapper {
1616
private val welcomer = WelcomerJSONParser()
17+
private val scope = CoroutineScope(Dispatchers.IO)
1718

1819
override fun onGuildJoin(event: GuildMemberJoinEvent) {
19-
CoroutineScope(Dispatchers.Default).launch {
20+
scope.launch {
2021
val guildData = foxy.mongoClient.utils.guild.getGuild(event.guild.id)
2122

2223
if (guildData.GuildJoinLeaveModule.isEnabled) {
@@ -28,15 +29,14 @@ class WelcomerManager(
2829
val channel = event.guild.getTextChannelById(guildData.GuildJoinLeaveModule.joinChannel ?: "0")
2930
?: return@launch
3031

31-
withContext(Dispatchers.Main) {
32-
channel.sendMessage(content).setEmbeds(embeds).queue()
33-
}
32+
channel.sendMessage(content).setEmbeds(embeds).queue()
33+
3434
}
3535
}
3636
}
3737

3838
override fun onGuildLeave(event: GuildMemberRemoveEvent) {
39-
CoroutineScope(Dispatchers.Default).launch {
39+
scope.launch {
4040
val guildData = foxy.mongoClient.utils.guild.getGuild(event.guild.id)
4141

4242
if (guildData.GuildJoinLeaveModule.alertWhenUserLeaves) {
@@ -48,9 +48,7 @@ class WelcomerManager(
4848
val channel = event.guild.getTextChannelById(guildData.GuildJoinLeaveModule.leaveChannel ?: "0")
4949
?: return@launch
5050

51-
withContext(Dispatchers.Main) {
52-
channel.sendMessage(content).setEmbeds(embeds).queue()
53-
}
51+
channel.sendMessage(content).setEmbeds(embeds).queue()
5452
}
5553
}
5654
}

0 commit comments

Comments
 (0)
Please sign in to comment.