Beispiel #1
0
    def _logs(self, update: Update, context: CallbackContext) -> None:
        """
        Handler for /logs
        Shows the latest logs
        """
        try:
            try:
                limit = int(context.args[0]) if context.args else 10
            except (TypeError, ValueError, IndexError):
                limit = 10
            logs = RPC._rpc_get_logs(limit)['logs']
            msgs = ''
            msg_template = "*{}* {}: {} \\- `{}`"
            for logrec in logs:
                msg = msg_template.format(
                    escape_markdown(logrec[0], version=2),
                    escape_markdown(logrec[2], version=2),
                    escape_markdown(logrec[3], version=2),
                    escape_markdown(logrec[4], version=2))
                if len(msgs + msg) + 10 >= MAX_TELEGRAM_MESSAGE_LENGTH:
                    # Send message immediately if it would become too long
                    self._send_msg(msgs, parse_mode=ParseMode.MARKDOWN_V2)
                    msgs = msg + '\n'
                else:
                    # Append message to messages to send
                    msgs += msg + '\n'

            if msgs:
                self._send_msg(msgs, parse_mode=ParseMode.MARKDOWN_V2)
        except RPCException as e:
            self._send_msg(str(e))
Beispiel #2
0
def logs(limit: Optional[int] = None, rpc: RPC = Depends(get_rpc)):
    return rpc._rpc_get_logs(limit)
Beispiel #3
0
def logs(limit: Optional[int] = None):
    return RPC._rpc_get_logs(limit)