From 2785ea2d136eb95d19e877ff1e16de986a77e5fc Mon Sep 17 00:00:00 2001 From: GustyCube Date: Wed, 20 Mar 2024 08:56:27 -0700 Subject: [PATCH 1/2] =?UTF-8?q?Adding=20the=20Idiot=20Role=20to=20people?= =?UTF-8?q?=20who=20mess=20up=20and=20=F0=9F=92=AF=20emoji?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../bot/counting/CountingListener.kt | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt b/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt index 10ae046..7fed2f3 100644 --- a/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt +++ b/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt @@ -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() { @@ -26,10 +27,22 @@ class CountingListener: ListenerAdapter() { countingRegistry.fuckedUp(user) } + fun addIdiotRole(user: User, guildId: String) { + val guild = user.jda.getGuildById(guildId) ?: return + val member = guild.getMemberById(user.id) ?: return + val role = guild.getRoleById("1162498330908180500") ?: return + + if (!member.roles.contains(role)) { + guild.addRoleToMember(member, role).queue() + } + } + + 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 @@ -44,10 +57,15 @@ class CountingListener: ListenerAdapter() { event.message.addReaction(Server.downvoteEmoji) 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) + addIdiotRole(event.author, event.guild.id) } + 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 @@ -77,4 +95,4 @@ class CountingListener: ListenerAdapter() { } } -} \ No newline at end of file +} From 397f6d2845a0591dfef3c3f9aa123fa9288717fd Mon Sep 17 00:00:00 2001 From: GustyCube Date: Sat, 30 Mar 2024 09:33:14 -0400 Subject: [PATCH 2/2] Update CountingListener.kt --- .../com/learnspigot/bot/counting/CountingListener.kt | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt b/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt index 7fed2f3..c186972 100644 --- a/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt +++ b/src/main/kotlin/com/learnspigot/bot/counting/CountingListener.kt @@ -27,16 +27,6 @@ class CountingListener: ListenerAdapter() { countingRegistry.fuckedUp(user) } - fun addIdiotRole(user: User, guildId: String) { - val guild = user.jda.getGuildById(guildId) ?: return - val member = guild.getMemberById(user.id) ?: return - val role = guild.getRoleById("1162498330908180500") ?: return - - if (!member.roles.contains(role)) { - guild.addRoleToMember(member, role).queue() - } - } - private fun Channel.isCounting() = id == Environment.get("COUNTING_CHANNEL_ID") private fun Message.millisSinceLastCount() = timeCreated.toInstant().toEpochMilli() - (lastCount?.timeCreated?.toInstant()?.toEpochMilli() ?: 0) @@ -57,7 +47,6 @@ class CountingListener: ListenerAdapter() { event.message.addReaction(Server.downvoteEmoji) 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) - addIdiotRole(event.author, event.guild.id) } val reactionEmoji = if (evaluated % 100 == 0) oneHundred else Server.upvoteEmoji