Skip to content

Commit 32bab43

Browse files
authored
Merge pull request #15 from ddivad195/feat/reaction-error-handling
feat: add error handling to sedning user dms
2 parents d8ce624 + 1f99aa0 commit 32bab43

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

src/main/kotlin/me/ddivad/keeper/listeners/MessageListener.kt

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package me.ddivad.keeper.listeners
22

33
import dev.kord.core.event.message.ReactionAddEvent
4+
import dev.kord.rest.request.KtorRequestException
45
import dev.kord.x.emoji.Emojis
56
import dev.kord.x.emoji.addReaction
67
import me.ddivad.keeper.dataclasses.Configuration
@@ -9,24 +10,35 @@ import me.ddivad.keeper.embeds.buildSavedMessageEmbed
910
import me.jakejmattson.discordkt.dsl.listeners
1011
import me.jakejmattson.discordkt.extensions.isSelf
1112
import me.jakejmattson.discordkt.extensions.sendPrivateMessage
13+
import mu.KotlinLogging
14+
15+
private val logger = KotlinLogging.logger { }
1216

1317
@Suppress("unused")
1418
fun onGuildMessageReactionAddEvent(configuration: Configuration, statsService: StatisticsService) = listeners {
1519
on<ReactionAddEvent> {
1620
if (guild !== null) {
1721
val guild = guild?.asGuildOrNull() ?: return@on
1822
val guildConfiguration = configuration[guild.id] ?: return@on
23+
val msg = message.asMessageOrNull() ?: return@on
24+
1925
if (!guildConfiguration.enabled) return@on
2026

2127
if (this.emoji.name == configuration[guild.id]?.bookmarkReaction) {
2228
statsService.bookmarkAdded(guild)
23-
this.user.sendPrivateMessage {
24-
buildSavedMessageEmbed(message.asMessage(), guild)
25-
}.addReaction(Emojis.x)
29+
try {
30+
this.user.sendPrivateMessage {
31+
buildSavedMessageEmbed(msg, guild)
32+
}.addReaction(Emojis.x)
33+
logger.info { "Message Bookmarked by ${msg.author?.username}" }
34+
} catch (e: KtorRequestException) {
35+
logger.error { "Bookmark DM could not be sent" }
36+
}
2637
}
2738
} else {
2839
if (this.emoji.name == "" && !this.user.isSelf()) {
2940
this.message.delete()
41+
logger.info { "Bookmark Deleted" }
3042
}
3143
}
3244
}

0 commit comments

Comments
 (0)