Skip to content

Commit

Permalink
Merge pull request #240 from GustyCube/patch-1
Browse files Browse the repository at this point in the history
Add 💯 when someone counts to a multiple of 100

LGTM, Thank you
  • Loading branch information
Dawsson authored May 12, 2024
2 parents 525cf11 + 397f6d2 commit 11d6312
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import net.dv8tion.jda.api.events.message.MessageDeleteEvent
import net.dv8tion.jda.api.events.message.MessageReceivedEvent
import net.dv8tion.jda.api.events.message.MessageUpdateEvent
import net.dv8tion.jda.api.hooks.ListenerAdapter
import net.dv8tion.jda.api.entities.Member

class CountingListener: ListenerAdapter() {

Expand All @@ -26,10 +27,12 @@ class CountingListener: ListenerAdapter() {
countingRegistry.fuckedUp(user)
}


private fun Channel.isCounting() = id == Environment.get("COUNTING_CHANNEL_ID")
private fun Message.millisSinceLastCount() = timeCreated.toInstant().toEpochMilli() - (lastCount?.timeCreated?.toInstant()?.toEpochMilli() ?: 0)

private val thinking = Emoji.fromUnicode("🤔")
private val oneHundred = Emoji.fromUnicode("💯")

override fun onMessageReceived(event: MessageReceivedEvent) {
if (event.author.isBot || !event.isFromGuild || !event.channel.isCounting() || event.guild.id != Server.guildId) return
Expand All @@ -45,9 +48,13 @@ class CountingListener: ListenerAdapter() {
event.message.reply("You can't count twice in a row, let someone else join in! ( The count has been reset to 1 )").queue()
fuckedUp(event.author)
}
val reactionEmoji = if (evaluated % 100 == 0) oneHundred else Server.upvoteEmoji


lastCount = event.message
event.message.addReaction(Server.upvoteEmoji).queue()
event.message.addReaction(reactionEmoji).queue()
countingRegistry.incrementCount(event.author)

} else {
if (evaluated == currentCount && event.message.millisSinceLastCount() < 600) {
// ( 600ms delay ) - Arbitrary value based on superficial testing
Expand Down Expand Up @@ -77,4 +84,4 @@ class CountingListener: ListenerAdapter() {
}
}

}
}

0 comments on commit 11d6312

Please sign in to comment.