mirror of
https://github.com/mamoe/mirai.git
synced 2025-03-11 21:30:11 +08:00
Add fail-fast check
This commit is contained in:
parent
ee89f22c87
commit
f28e50e0af
@ -196,9 +196,13 @@ internal class MemberImpl constructor(
|
||||
net.mamoe.mirai.event.events.MemberUnmuteEvent(this@MemberImpl, null).broadcast()
|
||||
}
|
||||
|
||||
@OptIn(MiraiInternalAPI::class)
|
||||
@JvmSynthetic
|
||||
override suspend fun kick(message: String) {
|
||||
checkBotPermissionHigherThanThis()
|
||||
check(group.members.getOrNull(this.id) != null) {
|
||||
"Member ${this.id} had already been kicked from group ${group.id}"
|
||||
}
|
||||
bot.network.run {
|
||||
val response: TroopManagement.Kick.Response = TroopManagement.Kick(
|
||||
client = bot.client,
|
||||
@ -208,6 +212,7 @@ internal class MemberImpl constructor(
|
||||
|
||||
check(response.success) { "kick failed: ${response.ret}" }
|
||||
|
||||
group.members.delegate.removeIf { it.id == this@MemberImpl.id }
|
||||
MemberLeaveEvent.Kick(this@MemberImpl, null).broadcast()
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user