Я передал на страницу id. Захардкодил значение. id = '12345'.
Но на странице этот id почему-то не отображается.




код функции: [@app.get('/chat/{chat_id}')
async def chat_page(request: Request, chat_id: int, user=Depends(manager)):
    user_id = user['id']
    id_test = 444
    client = await get_client(user_id, phonenumber=user['phone_number'])

    messages = []
    user_cache = {}  # Кэш для хранения информации о пользователях

    async for message in client.iter_chat_history(chat_id=chat_id, limit=50):
        # Инициализация переменных
        text = ''
        message_type = ''
        file_link = ''
        sender_name = 'Неизвестный отправитель'

        # Обработка содержимого сообщения
        if message.content.ID == 'messageText':
            text = message.content.text.text
            message_type = 'text'
        elif message.content.ID == 'messagePhoto':
            message_type = 'photo'
            # Получение уникального идентификатора файла
            file_id = message.content.photo.sizes[-1].photo.remote.unique_id
            file_link = f"/download_file/{user_id}/{file_id}"
        elif message.content.ID == 'messageDocument':
            message_type = 'document'
            file_name = message.content.document.file_name
            file_link = f"/download_file/{user_id}/{file_name}"
        else:
            message_type = 'unsupported'

        # Получение имени отправителя
        if isinstance(message.sender_id, MessageSenderUser):
            sender_user_id = message.sender_id.user_id

            # Проверяем кэш, чтобы не делать повторные запросы
            if sender_user_id in user_cache:
                user_info = user_cache[sender_user_id]
                print(user_info)
            else:
                user_info = await client.api.get_user(user_id=sender_user_id)
                print(user_info)
                user_cache[sender_user_id] = user_info

            # Формирование имени отправителя
            first_name = user_info.first_name or ''
            last_name = user_info.last_name or ''
            username = user_info.username or ''

            if first_name or last_name:
                sender_name = f"{first_name} {last_name}".strip()
            elif username:
                sender_name = f"@{username}"
            else:
                sender_name = 'Пользователь'

        elif isinstance(message.sender_id, MessageSenderChat):
            # Если отправитель — чат (например, канал)
            chat_info = await client.api.get_chat(chat_id=message.sender_id.chat_id)
            sender_name = chat_info.title
        else:
            # Системное сообщение или отправитель неизвестен
            sender_name = 'Системное сообщение'

        # Добавляем сообщение в список с необходимой информацией
        messages.append({
            'text': text,
            'message_type': message_type,
            'file_link': file_link,
            'sender_name': sender_name,
            'message': message,
        })

    return templates.TemplateResponse('chat.html', {
        'request': request,
        'messages': messages,
        'chat_id': chat_id,
        'user': user,
        'id': '12345'
    })]






Код шаблон: [
{% extends "base.html" %}
{% block content %}
<h1>Чат {{ chat_id }}</h1>
<a href="{{ url_for('index') }}">Вернуться к списку чатов</a>
<p>id: {{ id }}</p>
<ul>
    {% for message in messages | reverse %}
        <li>
            <strong>
                {{ message.sender_id.user_id }}

                {% if message.sender_id.user_id == id %}
                    Вы:
                {% else %}
                    Собеседник:
                {% endif %}
            </strong>
            {% if message.content.ID == 'messageText' %}
                {{ message.content.text.text }}
            {% elif message.content['@type'] == 'messagePhoto' %}
                Фото: <a href="{{ url_for('download_file', user_id=user.id, filename=message.content.photo.sizes[-1].photo.remote.unique_id) }}">Скачать</a>
            {% elif message.content['@type'] == 'messageDocument' %}
                Документ: <a href="{{ url_for('download_file', user_id=user.id, filename=message.content.document.file_name) }}">Скачать</a>
            {% else %}
                Тип сообщения не поддерживается для отображения (пока что).

            {% endif %}
        </li>
    {% endfor %}
</ul>
<h2>Отправить сообщение</h2>
<form method="post" enctype="multipart/form-data">
    <label for="message">Сообщение:</label><br>
    <textarea id="message" name="message"></textarea><br><br>
    <label for="file">Выберите файл:</label><br>
    <input type="file" id="file" name="file"><br><br>
    <input type="submit" value="Отправить">
</form>
{% endblock %}
]