Improve telegram message formatting
This commit is contained in:
parent
f5863a1c6f
commit
1ffa3d1ae0
@ -639,19 +639,12 @@ class RPC:
|
|||||||
buffer = bufferHandler.buffer[-limit:]
|
buffer = bufferHandler.buffer[-limit:]
|
||||||
else:
|
else:
|
||||||
buffer = bufferHandler.buffer
|
buffer = bufferHandler.buffer
|
||||||
records = [[datetime.fromtimestamp(r.created), r.created, r.name, r.levelname, r.message]
|
records = [[datetime.fromtimestamp(r.created).strftime("%Y-%m-%d %H:%M:%S"),
|
||||||
|
r.created, r.name, r.levelname, r.message]
|
||||||
for r in buffer]
|
for r in buffer]
|
||||||
|
|
||||||
return {'log_count': len(records), 'logs': records}
|
return {'log_count': len(records), 'logs': records}
|
||||||
|
|
||||||
def _rpc_get_logs_as_string(self, limit: Optional[int]) -> List[str]:
|
|
||||||
"""Returns the last X logs as formatted string (Using the default log format)"""
|
|
||||||
if limit:
|
|
||||||
buffer = bufferHandler.buffer[-limit:]
|
|
||||||
else:
|
|
||||||
buffer = bufferHandler.buffer
|
|
||||||
return [bufferHandler.format(r) for r in buffer]
|
|
||||||
|
|
||||||
def _rpc_edge(self) -> List[Dict[str, Any]]:
|
def _rpc_edge(self) -> List[Dict[str, Any]]:
|
||||||
""" Returns information related to Edge """
|
""" Returns information related to Edge """
|
||||||
if not self._freqtrade.edge:
|
if not self._freqtrade.edge:
|
||||||
|
@ -649,20 +649,22 @@ class Telegram(RPC):
|
|||||||
limit = int(context.args[0])
|
limit = int(context.args[0])
|
||||||
except (TypeError, ValueError, IndexError):
|
except (TypeError, ValueError, IndexError):
|
||||||
limit = 10
|
limit = 10
|
||||||
logs = self._rpc_get_logs_as_string(limit)
|
logs = self._rpc_get_logs(limit)['logs']
|
||||||
msg = ''
|
msgs = ''
|
||||||
message_container = "<pre>{}</pre>"
|
msg_template = "*{}* {}: {} - `{}`"
|
||||||
for logrec in logs:
|
for logrec in logs:
|
||||||
if len(msg + logrec) + 10 >= MAX_TELEGRAM_MESSAGE_LENGTH:
|
msg = msg_template.format(logrec[0], logrec[2], logrec[3], logrec[4])
|
||||||
|
|
||||||
|
if len(msgs + msg) + 10 >= MAX_TELEGRAM_MESSAGE_LENGTH:
|
||||||
# Send message immediately if it would become too long
|
# Send message immediately if it would become too long
|
||||||
self._send_msg(message_container.format(msg), parse_mode=ParseMode.HTML)
|
self._send_msg(msgs, parse_mode=ParseMode.MARKDOWN)
|
||||||
msg = logrec + '\n'
|
msgs = msg + '\n'
|
||||||
else:
|
else:
|
||||||
# Append message to messages to send
|
# Append message to messages to send
|
||||||
msg += logrec + '\n'
|
msgs += msg + '\n'
|
||||||
|
|
||||||
if msg:
|
if msgs:
|
||||||
self._send_msg(message_container.format(msg), parse_mode=ParseMode.HTML)
|
self._send_msg(msgs, parse_mode=ParseMode.MARKDOWN)
|
||||||
except RPCException as e:
|
except RPCException as e:
|
||||||
self._send_msg(str(e))
|
self._send_msg(str(e))
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user