diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt index 0e53f7b..d4b8808 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt @@ -47,13 +47,13 @@ class SendPlannerExtension : Extension() { override suspend fun setup() { publicSlashCommand() { name = "sendplanner" - description = "Send the planner for the current and x next weeks" + description = "Send the planner for the current week" this.action { if (!this.member!!.asMember(this.guild!!.id) .hasPermission(Permission.Administrator) ) { val res = this.respond { - this.content = "no." + this.content = "You need to be an administrator to use this command." } res.delete() return@action diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/TestExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/TestExtension.kt deleted file mode 100644 index 90cda76..0000000 --- a/src/main/kotlin/net/moonleay/lilJudd/extensions/TestExtension.kt +++ /dev/null @@ -1,62 +0,0 @@ -/* - * lilJudd - * Copyright (C) 2023 moonleay - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.moonleay.lilJudd.extensions - -import com.kotlindiscord.kord.extensions.extensions.Extension -import com.kotlindiscord.kord.extensions.extensions.publicSlashCommand -import com.kotlindiscord.kord.extensions.types.respond -import dev.kord.common.Color -import dev.kord.rest.builder.message.create.actionRow -import net.moonleay.lilJudd.util.EmbedUtil -import net.moonleay.lilJudd.util.MessageUtil - -/* This extension has no proper use. - It is used in testing to test stuff, without having to wait for certain events to trigger. */ -class TestExtension : Extension() { - override val name = "test" - override val allowApplicationCommandInDMs: Boolean - get() = false - - override suspend fun setup() { - publicSlashCommand { - name = "test" - description = "Test game" - this.action { - this.respond { - this.embeds.add( - MessageUtil.getEmbedWithTable( - Color(0X4C4645), - "", - "MONDAY, 22.05.2023", - mapOf( - "Is available" to listOf(), - "May be available" to listOf(), - "Is not available" to listOf() - ) - ) - ) - - this.actionRow { - this.components.addAll(EmbedUtil.getTimePlannerButtons().components) - } - } - } - } - } -} diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt index 109e3c7..65d5430 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/UpdateRolesExtension.kt @@ -42,7 +42,7 @@ class UpdateRolesExtension : Extension() { .hasPermission(Permission.Administrator) ) { val res = this.respond { - this.content = "no." + this.content = "You need to be an administrator to use this command." } res.delete() return@action @@ -55,7 +55,7 @@ class UpdateRolesExtension : Extension() { // -- below here is the code of the cronjob -- Logger.out("Starting to update roles...") - AvailabilityManager.runThread() + AvailabilityManager.updateInChannel(this.channel.id) } } } diff --git a/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt b/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt index f414967..a6b2d3a 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt @@ -18,6 +18,7 @@ package net.moonleay.lilJudd.features +import com.kotlindiscord.kord.extensions.utils.isNullOrBot import dev.inmo.krontab.buildSchedule import dev.inmo.krontab.doInfinity import dev.kord.common.Color @@ -162,11 +163,14 @@ object AvailabilityManager : IFeature { } mce.collect { memberchunkevent -> memberchunkevent.members.forEach { - Logger.out("Checking member ${it.id.value} (${it.username})") - if (it.roleIds.contains(Snowflake(pnrd.hastimeroleid))) { - it.removeRole(Snowflake(pnrd.hastimeroleid)) - Logger.out("Removed role from ${it.username}") // Removed the role + if (!it.isNullOrBot()) { // Check if the member is a bot + Logger.out("Checking member ${it.id.value} (${it.username})") + if (it.roleIds.contains(Snowflake(pnrd.hastimeroleid))) { + it.removeRole(Snowflake(pnrd.hastimeroleid)) + Logger.out("Removed role from ${it.username}") // Removed the role + } } + // I cant use continue here, because it does not work with .forEach } }