diff --git a/freqtrade/rpc/telegram.py b/freqtrade/rpc/telegram.py index c619559de..8aa96f7b1 100644 --- a/freqtrade/rpc/telegram.py +++ b/freqtrade/rpc/telegram.py @@ -751,6 +751,9 @@ class Telegram(RPCHandler): Returns the currently active locks """ rpc_locks = self._rpc._rpc_locks() + if not rpc_locks['locks']: + self._send_msg('No active locks.', parse_mode=ParseMode.HTML) + for locks in chunks(rpc_locks['locks'], 25): message = tabulate([[ lock['id'], diff --git a/tests/rpc/test_rpc_telegram.py b/tests/rpc/test_rpc_telegram.py index 6d42a6845..37b5045f8 100644 --- a/tests/rpc/test_rpc_telegram.py +++ b/tests/rpc/test_rpc_telegram.py @@ -969,6 +969,11 @@ def test_telegram_lock_handle(default_conf, update, ticker, fee, mocker) -> None ) telegram, freqtradebot, msg_mock = get_telegram_testobject(mocker, default_conf) patch_get_signal(freqtradebot, (True, False)) + telegram._locks(update=update, context=MagicMock()) + assert msg_mock.call_count == 1 + assert 'No active locks.' in msg_mock.call_args_list[0][0][0] + + msg_mock.reset_mock() PairLocks.lock_pair('ETH/BTC', arrow.utcnow().shift(minutes=4).datetime, 'randreason') PairLocks.lock_pair('XRP/BTC', arrow.utcnow().shift(minutes=20).datetime, 'deadbeef')