kitscribe
@kitscribe
Хаброжитель

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

Использую event listener, прослушивая новые сообщения из списка чатов с помощью Telethon

Код
@client.on(events.NewMessage(chats=channels))
async def handle_messages(message):
    while enabled:
        try:
            if is_good(message.raw_text):
                sender = await message.get_sender() # правильно?
                chat = await message.get_input_channel() # а это?
                # как дальше получить данные?

                await client.forward_messages(forward_to_name, message.message)
        except Exception as e:
            logging.error(e)


Правильно ли я получаю объекты отправителя и чата?
Как я могу получить user_id, username и имя отправителя?
Как я могу получить ссылку на чат (username чата) и его название?

Спасибо большое за овтеты
  • Вопрос задан
  • 2717 просмотров
Решения вопроса 1
@sijokun
print(message.from_id.user_id)  # ИД отправителя
from_user = await client.get_entity(message.from_id.user_id)   # Получаем отправителя по ИД
print(from_user.username)  # Юзернейм отправителя

print(message.chat_id)  # ИД чата
chat = await client.get_entity(message.chat_id)  # Получаем чат по ИД
print(chat.username)  # Юзернейм чата


У from_user есть все стандартные first_name, last_name и тд которые ты можешь использовать также как и username в примере выше
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы