diff --git a/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt b/src/main/kotlin/net/moonleay/lilJudd/extensions/SendPlannerExtension.kt index d4b8808..0e53f7b 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 week" + description = "Send the planner for the current and x next weeks" this.action { if (!this.member!!.asMember(this.guild!!.id) .hasPermission(Permission.Administrator) ) { val res = this.respond { - this.content = "You need to be an administrator to use this command." + this.content = "no." } 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 new file mode 100644 index 0000000..90cda76 --- /dev/null +++ b/src/main/kotlin/net/moonleay/lilJudd/extensions/TestExtension.kt @@ -0,0 +1,62 @@ +/* + * 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 65d5430..109e3c7 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 = "You need to be an administrator to use this command." + this.content = "no." } 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.updateInChannel(this.channel.id) + AvailabilityManager.runThread() } } } diff --git a/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt b/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt index a6b2d3a..f414967 100644 --- a/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt +++ b/src/main/kotlin/net/moonleay/lilJudd/features/AvailabilityManager.kt @@ -18,7 +18,6 @@ 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 @@ -163,14 +162,11 @@ object AvailabilityManager : IFeature { } mce.collect { memberchunkevent -> memberchunkevent.members.forEach { - 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 - } + 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 } }