fix binding logic

This commit is contained in:
TONY_All 2022-02-12 20:15:01 +08:00
parent c3464cbd99
commit 5d46886294
2 changed files with 9 additions and 1 deletions

View File

@ -81,11 +81,18 @@ object InviteCodeCommands {
} }
if (inviteCode.name != null) return@newSuspendedTransaction sender.sendMessage("§c| §7该邀请码已被激活, 请重试.") if (inviteCode.name != null) return@newSuspendedTransaction sender.sendMessage("§c| §7该邀请码已被激活, 请重试.")
.let { null } .let { null }
inviteCode.run {
uid = sender.uniqueId
name = sender.name
}
return@newSuspendedTransaction inviteCode return@newSuspendedTransaction inviteCode
} ?: return@launch } ?: return@launch
InvitedListener.send.remove(sender.uniqueId) InvitedListener.send.remove(sender.uniqueId)
val qqNum = runCatching { val qqNum = runCatching {
requireQQNumber(sender) ?: return@launch sender.sendMessage("§e| §7已取消激活验证码.").also { InvitedListener.send.add(sender.uniqueId) } requireQQNumber(sender) ?: return@launch withContext(bukkitSyncContext) {
InvitedListener.cache.remove(sender.uniqueId)
sender.kickPlayer("§e| §7您需要绑定QQ号以正常进行游戏.")
}
}.getOrNull() ?: return@launch InvitedListener.cache.remove(sender.uniqueId).let { } }.getOrNull() ?: return@launch InvitedListener.cache.remove(sender.uniqueId).let { }
sender.sendMessage("§a| §7该激活码成功绑定至QQ: §a${qqNum}") sender.sendMessage("§a| §7该激活码成功绑定至QQ: §a${qqNum}")
InvitedListener.cache.remove(sender.uniqueId) InvitedListener.cache.remove(sender.uniqueId)

View File

@ -110,6 +110,7 @@ object InvitedListener {
if (playerInviteCode.qq == null) { if (playerInviteCode.qq == null) {
runCatching { runCatching {
playerInviteCode.qq = requireQQNumber(e.player) ?: return@newSuspendedTransaction withContext(bukkitSyncContext) { playerInviteCode.qq = requireQQNumber(e.player) ?: return@newSuspendedTransaction withContext(bukkitSyncContext) {
cache.remove(e.player.uniqueId)
e.player.kickPlayer("§e| §7您需要绑定QQ号以正常进行游戏.") e.player.kickPlayer("§e| §7您需要绑定QQ号以正常进行游戏.")
} }
}.exceptionOrNull()?.run { cache.remove(e.player.uniqueId) } }.exceptionOrNull()?.run { cache.remove(e.player.uniqueId) }