Ваш вопрос касается проблемы с получением сообщений из определенного канала в Telegram с использованием библиотеки Pyrogram. Давайте разберем несколько возможных причин, почему сообщения из канала `nn_liquidation` не копируются, и способы их решения.
1. **Права доступа**: Убедитесь, что ваш бот имеет доступ к целевому каналу. Если канал является закрытым или приватным, бот должен быть добавлен в канал для получения сообщений. Проверьте, что он является администратором или имеет соответствующие разрешения.
2. **Фильтрация сообщений**: Возможно, сообщения из нужного канала отфильтровываются в вашем коде. Убедитесь, что у вас нет условий, которые препятствуют получению сообщений. Например, проверьте, что `filters` в обработчиках сообщений настроены правильно.
3. **Отсутствие сообщений**: Проверьте, действительно ли в целевом канале есть сообщения. Иногда бот может не получать сообщения, если их там нет.
4. **Проблема с кодировкой**: Если проблема действительно связана с кодировкой, попробуйте добавить обработку исключений. Например, попробуйте логировать (или печатать) текст сообщения перед его обработкой.
5. **Логирование**: Убедитесь, что logging в вашем коде настроено правильно. Возможно, стоит добавить логирование внутри вашего обработчика `new_post` для отслеживания входящих сообщений.
Пример кода с логированием:
```python
# Настройка логирования
logging.basicConfig(level=logging.INFO)
async def new_post(client: Client, message: Message):
try:
logging.info(f"Получено сообщение из {message.chat.title}: {message.text}")
# Здесь добавьте код для обработки сообщения
except Exception as e:
logging.error(f"Ошибка при обработке сообщения: {e}")
@Client.on_message(filters.chat(target_channel))
async def handler(client: Client, message: Message):
await new_post(client, message)
```
6. **Проверка API**: Убедитесь, что ваш `api_id` и `api_hash` актуальны и работают. Иногда проблемы связаны с неправильной авторизацией.
Попробуйте поочередно устранять эти возможные причины, и, скорее всего, вы сможете найти и решить проблему с получением сообщений из канала `nn_liquidation`. Если проблема сохраняется, уточните, какие ошибки (если есть) вы получаете в логах.