diff --git a/src/main/kotlin/cc/maxmc/invite/command/InviteCodeCommands.kt b/src/main/kotlin/cc/maxmc/invite/command/InviteCodeCommands.kt index d5969e3..f847853 100644 --- a/src/main/kotlin/cc/maxmc/invite/command/InviteCodeCommands.kt +++ b/src/main/kotlin/cc/maxmc/invite/command/InviteCodeCommands.kt @@ -81,11 +81,18 @@ object InviteCodeCommands { } if (inviteCode.name != null) return@newSuspendedTransaction sender.sendMessage("§c| §7该邀请码已被激活, 请重试.") .let { null } + inviteCode.run { + uid = sender.uniqueId + name = sender.name + } return@newSuspendedTransaction inviteCode } ?: return@launch InvitedListener.send.remove(sender.uniqueId) 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 { } sender.sendMessage("§a| §7该激活码成功绑定至QQ: §a${qqNum}") InvitedListener.cache.remove(sender.uniqueId) diff --git a/src/main/kotlin/cc/maxmc/invite/listener/InvitedListener.kt b/src/main/kotlin/cc/maxmc/invite/listener/InvitedListener.kt index e01acd2..465904f 100644 --- a/src/main/kotlin/cc/maxmc/invite/listener/InvitedListener.kt +++ b/src/main/kotlin/cc/maxmc/invite/listener/InvitedListener.kt @@ -110,6 +110,7 @@ object InvitedListener { if (playerInviteCode.qq == null) { runCatching { playerInviteCode.qq = requireQQNumber(e.player) ?: return@newSuspendedTransaction withContext(bukkitSyncContext) { + cache.remove(e.player.uniqueId) e.player.kickPlayer("§e| §7您需要绑定QQ号以正常进行游戏.") } }.exceptionOrNull()?.run { cache.remove(e.player.uniqueId) }