From cbaba293b59701e6ddb20cbcfcb35944610a8f42 Mon Sep 17 00:00:00 2001 From: Matthias Date: Fri, 31 Oct 2025 06:59:56 +0100 Subject: [PATCH] fix: more complete fix for #12451 --- freqtrade/rpc/rpc.py | 16 ++++++++++------ freqtrade/rpc/telegram.py | 6 +++++- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/freqtrade/rpc/rpc.py b/freqtrade/rpc/rpc.py index 7aaca6283..075e6eb0e 100644 --- a/freqtrade/rpc/rpc.py +++ b/freqtrade/rpc/rpc.py @@ -1009,12 +1009,16 @@ class RPC: return {"result": "Created exit orders for all open trades."} # Query for trade - trade = Trade.get_trades( - trade_filter=[ - Trade.id == int(trade_id), - Trade.is_open.is_(True), - ] - ).first() + trade = ( + Trade.get_trades( + trade_filter=[ + Trade.id == int(trade_id), + Trade.is_open.is_(True), + ] + ).first() + if trade_id.isdigit() + else None + ) if not trade: logger.warning("force_exit: Invalid argument received") raise RPCException("invalid argument") diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index cdce0c1e2..7b3006b40 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -1455,7 +1455,11 @@ class Telegram(RPCHandler): await query.answer() await query.edit_message_text(text="Force exit canceled.") return - trade: Trade | None = Trade.get_trades(trade_filter=Trade.id == trade_id).first() + trade: Trade | None = ( + Trade.get_trades(trade_filter=Trade.id == int(trade_id)).first() + if trade_id.isdigit() + else None + ) await query.answer() if trade: await query.edit_message_text(