Skip to content

Commit a67ffd9

Browse files
authored
fix: Discord role sync (#56)
1 parent 49465d8 commit a67ffd9

File tree

2 files changed

+6
-16
lines changed

2 files changed

+6
-16
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
A Minecraft - Discord chat linking mod
66

7-
![Minecraft Version](https://img.shields.io/badge/minecraft%20version-1.18.2-blue)
7+
![Minecraft Version](https://img.shields.io/badge/minecraft%20version-1.19.2-blue)
88
[![Release](https://img.shields.io/github/v/release/QuiltServerTools/BlockBot?include_prereleases&sort=semver)](releases)
99
[![Modrinth Downloads](https://img.shields.io/badge/dynamic/json?color=5da545&label=downloads&query=downloads&url=https://api.modrinth.com/api/v1/mod/yKZ9outG&logo=data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMSAxMSIgd2lkdGg9IjE0LjY2NyIgaGVpZ2h0PSIxNC42NjciICB4bWxuczp2PSJodHRwczovL3ZlY3RhLmlvL25hbm8iPjxkZWZzPjxjbGlwUGF0aCBpZD0iQSI+PHBhdGggZD0iTTAgMGgxMXYxMUgweiIvPjwvY2xpcFBhdGg+PC9kZWZzPjxnIGNsaXAtcGF0aD0idXJsKCNBKSI+PHBhdGggZD0iTTEuMzA5IDcuODU3YTQuNjQgNC42NCAwIDAgMS0uNDYxLTEuMDYzSDBDLjU5MSA5LjIwNiAyLjc5NiAxMSA1LjQyMiAxMWMxLjk4MSAwIDMuNzIyLTEuMDIgNC43MTEtMi41NTZoMGwtLjc1LS4zNDVjLS44NTQgMS4yNjEtMi4zMSAyLjA5Mi0zLjk2MSAyLjA5MmE0Ljc4IDQuNzggMCAwIDEtMy4wMDUtMS4wNTVsMS44MDktMS40NzQuOTg0Ljg0NyAxLjkwNS0xLjAwM0w4LjE3NCA1LjgybC0uMzg0LS43ODYtMS4xMTYuNjM1LS41MTYuNjk0LS42MjYuMjM2LS44NzMtLjM4N2gwbC0uMjEzLS45MS4zNTUtLjU2Ljc4Ny0uMzcuODQ1LS45NTktLjcwMi0uNTEtMS44NzQuNzEzLTEuMzYyIDEuNjUxLjY0NSAxLjA5OC0xLjgzMSAxLjQ5MnptOS42MTQtMS40NEE1LjQ0IDUuNDQgMCAwIDAgMTEgNS41QzExIDIuNDY0IDguNTAxIDAgNS40MjIgMCAyLjc5NiAwIC41OTEgMS43OTQgMCA0LjIwNmguODQ4QzEuNDE5IDIuMjQ1IDMuMjUyLjgwOSA1LjQyMi44MDljMi42MjYgMCA0Ljc1OCAyLjEwMiA0Ljc1OCA0LjY5MSAwIC4xOS0uMDEyLjM3Ni0uMDM0LjU2bC43NzcuMzU3aDB6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGZpbGw9IiM1ZGE0MjYiLz48L2c+PC9zdmc+)](https://modrinth.com/mod/blockbot/versions)
1010

src/main/kotlin/io/github/quiltservertools/blockbotdiscord/extensions/linking/LinkingExtension.kt

+5-15
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,6 @@ private fun registerPlaceholders() {
137137
}
138138
}
139139

140-
suspend fun Kord.canInteractWith(member: Member): Boolean {
141-
val self = member.guild.getMember(selfId)
142-
val highestOther = member.roles.map { it.rawPosition }.toList().maxOrNull() ?: 0
143-
val highestSelf = self.roles.map { it.rawPosition }.toList().maxOrNull() ?: 0
144-
return highestSelf > highestOther
145-
}
146-
147140
suspend fun ServerPlayerEntity.syncDiscord() {
148141
try {
149142
syncLinkedName()
@@ -161,15 +154,12 @@ suspend fun ServerPlayerEntity.syncLinkedName() {
161154
}
162155

163156
suspend fun ServerPlayerEntity.syncLinkedRoles() {
164-
val syncedRoles = config[LinkingSpec.syncedRoles].entries
165-
.filter { entry -> Permissions.check(this@syncLinkedRoles, "blockbot.sync.roles.${entry.key}", 4) }
166-
.map { entry -> Snowflake(entry.value) }
167-
.toMutableSet()
168-
if (syncedRoles.isEmpty()) return
169157
val member = getLinkedAccount()?.asMemberOrNull(Snowflake(config[BotSpec.guild]))
170-
member?.edit {
171-
roles = syncedRoles
172-
}
158+
config[LinkingSpec.syncedRoles].entries
159+
.filter { entry -> Permissions.check(this@syncLinkedRoles, "blockbot.sync.roles.${entry.key}", 4) }
160+
.forEach {
161+
member?.addRole(Snowflake(it.value), "blockbot role sync")
162+
}
173163
}
174164

175165
fun GameProfile.canJoin(server: MinecraftServer): Text? {

0 commit comments

Comments
 (0)