diff --git a/plugins/point_trade/main.py b/plugins/point_trade/main.py index 0e20140..095e9b3 100644 --- a/plugins/point_trade/main.py +++ b/plugins/point_trade/main.py @@ -443,6 +443,15 @@ class PointTradePlugin(MessagePluginInterface): if not roomid: wcf.send_text("❌打劫功能仅在群聊中可用!", sender, "") return True, "非群聊环境" + + # 检查是否在押 + prison_status = self.points_db.check_prison_status(sender, roomid) + if prison_status: + remaining_time = prison_status['end_time'] - datetime.now() + hours = int(remaining_time.total_seconds() / 3600) + minutes = int((remaining_time.total_seconds() % 3600) / 60) + wcf.send_text(f"❌你正在服刑!\n剩余时间: {hours}小时{minutes}分钟\n可请求他人花费30积分保释。", roomid, sender) + return True, "在押状态" # 检查冷却时间 current_time = time.time() @@ -555,14 +564,6 @@ class PointTradePlugin(MessagePluginInterface): wcf.send_text(f"❌打劫过程中出现问题:{result.get('error', '未知错误')}", roomid, sender) return True, "打劫失败" else: - # 检查是否在押 - prison_status = self.points_db.check_prison_status(sender, roomid) - if prison_status: - remaining_time = prison_status['end_time'] - datetime.now() - hours = int(remaining_time.total_seconds() / 3600) - minutes = int((remaining_time.total_seconds() % 3600) / 60) - wcf.send_text(f"❌你正在服刑!\n剩余时间: {hours}小时{minutes}分钟\n可请求他人花费30积分保释。", roomid, sender) - return True, "在押状态" # 打劫失败处理 penalty_amount = int(robber_total * self.rob_penalty_percent)