Приветствую! Если вы используете библиотеку Telethon для работы с Telegram API, вы можете получить информацию об авторе сообщения в канале следующим образом:
```python
from telethon import TelegramClient
from telethon.tl.functions.channels import GetParticipantRequest
# Предположим, что у вас уже есть клиент, подключенный и авторизованный
client = TelegramClient('session_name', api_id, api_hash)
# Это асинхронная фукнция, она должна быть вызвана в асинхронном контексте
async def get_message_author(channel_id, message_id):
# Получаем сообщение по его ID
message = await client.get_messages(channel_id, ids=message_id)
# Если сообщение имеет отправителя, получаем информацию об участнике канала
if message.sender_id:
participant = await client(GetParticipantRequest(channel_id, message.sender_id))
# В participant данные об участнике канала, включая информацию о пользователе
user = participant.participant.user
print('Пользователь:', user.first_name, user.last_name, user.username)
else:
print('Автор сообщения не найден.')
# Вызов функции (пример с async loop)
import asyncio
channel_id = 'ID канала или его username'
message_id = 12345 # пример ID сообщения
loop = asyncio.get_event_loop()
loop.run_until_complete(get_message_author(channel_id, message_id))
```
Учтите, что в каналах Telegram возможна ситуация, когда у сообщения нет конкретного автора (например, если сообщение отправлено от имени канала). В таких случаях `message.sender_id` может быть `None`.
**Важно:** Перед использованием этого кода вам нужно будет заменить `'session_name'`, `api_id`, и `api_hash` вашими данными сессии и креденшелами, которые вы получите при регистрации вашего приложения на платформе Telegram.
Также не забывайте, что в связи с возможными обновлениями API и библиотеки Telethon, код может со временем потерять актуальность, поэтому всегда стоит обращаться к официальной документации в случае проблем.