python - How to get user details from MessageReactions in Telethon? - Stack Overflow

Using iter_messages(), I scroll through messages in an open chat. If a message has reactions, I try to

Using iter_messages(), I scroll through messages in an open chat. If a message has reactions, I try to get the ID, name, username, and phone number (if available) of the user who reacted. In the Telegram app, this can be done by viewing the reactions and clicking on the user's profile.

However, when using Telethon, I get a ValueError. Here is part of the code:

        if message.reactions and message.reactions.recent_reactions:
            print(message.reactions)

            peers = [reaction.peer_id for reaction in message.reactions.recent_reactions if
                     isinstance(reaction.peer_id, types.PeerUser)]

            for peer in peers:
                input_entity = await app.get_input_entity(peer) #ValueError here
                user = await app.get_entity(input_entity)

                user_dict = {
                    'first_name': user.first_name,
                    'last_name': user.last_name,
                    'username': user.username,
                    'phone': user.phone,
                }

                append_user(user.id, user_dict)
                print(user.id, user_dict)

Full error message:

Unhandled exception on on_incoming_message
Traceback (most recent call last):
  File "C:\Users\WWW\AppData\Local\Programs\Python\Python313\Lib\site-packages\telethon\client\updates.py", line 570, in _dispatch_update
    await callback(event)
  File "C:\Users\WWW\PycharmProjects\pythonPyro\Parser\main.py", line 54, in on_incoming_message
    input_entity = await app.get_input_entity(peer)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\WWW\AppData\Local\Programs\Python\Python313\Lib\site-packages\telethon\client\users.py", line 469, in get_input_entity
    raise ValueError(
    ...<4 lines>...
    )
ValueError: Could not find the input entity for PeerUser(user_id=6638091654) (PeerUser).

I physically checked this message with a reaction in the chat. I can see both the message and the reaction. The user is not deleted, their account exists, and from the same account that I am using in Telethon, I can view the reacting user's profile in the Telegram app, where at least their first name (first_name) is displayed.

So what is the problem?

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744869942a4598200.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信