Skip to content

Commit e6e2157

Browse files
Fix perm check crash in threads
1 parent e0e2477 commit e6e2157

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/main/java/wiresegal/wob/misc/util/Permissions.kt

+8-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ package wiresegal.wob.misc.util
33
import org.javacord.api.entity.user.User
44
import org.javacord.api.entity.channel.ServerChannel
55
import org.javacord.api.entity.channel.TextChannel
6+
import org.javacord.api.entity.channel.ServerThreadChannel
7+
import org.javacord.api.entity.channel.ServerTextChannel
8+
import org.javacord.api.entity.channel.ServerVoiceChannel
69
import org.javacord.api.entity.message.Message
710
import org.javacord.api.entity.message.MessageAuthor
811
import org.javacord.api.entity.permission.PermissionState
@@ -32,9 +35,12 @@ fun User.checkPermissions(channel: TextChannel, level: BotRanks) = checkPermissi
3235
fun User.checkPermissions(id: Long?, channel: TextChannel, level: BotRanks): Boolean {
3336

3437
if (this.isBotOwner) return true
35-
if (channel !is ServerChannel) return true
3638

37-
val server = channel.asServerTextChannel().get()
39+
val server =
40+
if (channel is ServerTextChannel) channel
41+
else if (channel is ServerThreadChannel) channel.parent
42+
else if (channel !is ServerChannel) return true
43+
else return false
3844
val localPerms = server.getEffectivePermissions(this)
3945
val roles = server.server.getRoles(this)
4046
val channelId = server.server.id

0 commit comments

Comments
 (0)