Получить имя пользователя отправителя из объекта event.message с помощью telethon - PullRequest
0 голосов
/ 11 мая 2019

Я не могу получить имя пользователя отправителя объекта event.message, когда в группу поступило сообщение.

Я пытался использовать метод get_entity, get_input_entity.Но это показывает ошибку.AttributeError: у объекта 'сопрограммы' нет атрибута 'чат'. Я даже не знаю, как обращаться с объектом сопрограммы

@client.on(events.NewMessage(chats=input_groups_entity))
    async def handler(event):
        print(event)
        sender = event.message.chat_id
        perticipants = client.get_participants(event.message.to_id)
        np = client.get_input_entity(event.message.from_id)
        await client.send_message(event.message.to_id, message=event.message.message)

Я хочу просто извлечь имя пользователя из объекта сообщения

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Чтобы получить полную информацию об отправителе, вам нужно сделать:

sender = await event.get_sender()
print(sender.username)

Причина, по которой вы получили эту ошибку, заключается в том, что вы забыли поставить await перед выполнением client.get_input_entity

0 голосов
/ 12 мая 2019

Вот как я понял, как получить имя пользователя из идентификатора пользователя. Надеюсь, кто-то получит выгоду от этого:

сначала очистите пользователей из группы и сохраните его в объекте словаря.Где ключ - ИД пользователя, а значение - Имя пользователя.И далее, каждый раз, когда приходило сообщение, я просматривал идентификатор соответствующего имени пользователя.

Вот как я решил это.

...