Как получить данные автора сообщения канала телеграм на telethon?

Для получения данных автора сообщения канала в библиотеке Telethon, вы можете использовать классы User и ChannelParticipant, которые предоставляют информацию о пользователях и участниках канала соответственно.

Прежде всего, убедитесь, что у вас установлена библиотека Telethon, если нет, выполните команду pip install telethon, чтобы установить ее.

Далее, вам понадобится API ID и хеш секретного ключа, чтобы авторизоваться через API Telegram. Вы можете получить их, создав приложение Telegram через https://my.telegram.org/apps.

После получения API ID и хеша секретного ключа, вы можете начать сессию Telethon следующим образом:

from telethon.sync import TelegramClient

api_id = 'YOUR_API_ID'
api_hash = 'YOUR_API_HASH'

with TelegramClient('session_name', api_id, api_hash) as client:
    # ваш код

Теперь вы можете получить данные автора сообщения в канале. Для этого вы должны знать идентификатор канала и идентификатор сообщения.

message_id = 'MESSAGE_ID'
channel_id = 'CHANNEL_ID'

message = client.get_messages(channel_id, ids=message_id)
author = message.sender

# Имя и фамилия автора
first_name = author.first_name
last_name = author.last_name

# Username автора
username = author.username

# Идентификатор автора
user_id = author.id

# Профиль автора
profile_photo = client.get_profile_photos(author.id)

В этом примере мы используем функцию get_messages чтобы получить сообщение по его идентификатору message_id. Затем мы получаем объект sender, который представляет автора сообщения.

Вы можете получить имя, фамилию и юзернейм автора путем обращения к соответствующим атрибутам объекта sender. Также вы можете получить идентификатор автора при помощи атрибута id.

Если вы хотите получить профильное фото автора сообщения, вы можете использовать метод get_profile_photos с идентификатором пользователя.

Обратите внимание, что этот код работает с синхронной версией Telethon, которая блокирует поток выполнения до получения результата. Если вы хотите использовать асинхронную версию, вам нужно использовать библиотеку telethon вместо telethon.sync, и использовать асинхронные методы и контексты.