コード例 #1
0
ファイル: log.py プロジェクト: Pedroschanzer/matebot
async def debug_logger(
  message: types.Message,
  exception: Exception = None,
  descriptions: list = 'error',
):
  dispatcher = Dispatcher.get_current()
  bot = dispatcher.bot
  url = ''
  if hasattr(message, 'chat') and message.chat.type != "private":
    # ~ url = message.url
    url = message.link('link', as_html = False)
  text = list()
  text.append(
    u" ".join([
      u" ".join([escape_md("#" + d) for d in descriptions]),
      url,
    ])
  )
  text.append('')
  text.append('```')
  text.append(json.dumps(message.to_python(), indent=2))
  text.append('```')
  text.append('')
  text.append('```')
  text.append(json.dumps(repr(exception), indent=2))
  text.append('```')
  try:
    await bot.send_message(
      chat_id = bot.users['special']['debug'],
      text = '\n'.join(text),
      disable_notification = True,
      parse_mode = "MarkdownV2",
    )
  except KeyError:
    logging.debug(key_error)
コード例 #2
0
ファイル: utils.py プロジェクト: nm17/telegram-logger
def convert(message: types.Message):
    data = orjson.loads(orjson.dumps(message.to_python()))
    data = {
        key:
        datetime.fromtimestamp(value).isoformat() if key == "date" else value
        for key, value in data.items()
    }
    if data.get("edit_date") is not None:
        data["edit_date"] = message.edit_date
    data["date"] = message.date
    return data
コード例 #3
0
def clean_message(message: types.Message) -> dict:
    dict_message = message.to_python()

    for key in list(dict_message.keys()):
        if key == "forward_from":
            del dict_message[key]["is_bot"]
            continue
        if key == "from":
            del dict_message[key]["is_bot"]
            continue
        if key == "text":
            continue

        del dict_message[key]

    return dict_message