async def get_document(self, message):
    '\n        Тупой алгоритм,\n        который рекурсивно с конца ищет поле "file_id"\n        и если находит, возвращает его родителя\n        '
    if isinstance(message, list):
        values = list(enumerate(message))
    elif isinstance(message, dict):
        values = list(message.items())
    else:
        return
    values.reverse()
    for (k, v) in values:
        if (k == 'reply_to_message'):
            continue
        if isinstance(v, dict):
            if ('file_id' in v):
                return v
        if (result := (await self.get_document(v))):
            return result
Тупой алгоритм,
который рекурсивно с конца ищет поле "file_id"
и если находит, возвращает его родителя
async def get_document(self, message):
    '\n        Тупой алгоритм,\n        который рекурсивно с конца ищет поле "file_id"\n        и если находит, возвращает его родителя\n        '
    if isinstance(message, list):
        values = list(enumerate(message))
    elif isinstance(message, dict):
        values = list(message.items())
    else:
        return
    values.reverse()
    for (k, v) in values:
        if (k == 'reply_to_message'):
            continue
        if isinstance(v, dict):
            if ('file_id' in v):
                return v
        if (result := (await self.get_document(v))):
            return result