telegram - 使用 Telethon 从 event.message 对象获取发件人的用户名
问题描述
当消息到达组时,我无法获取 event.message 对象的发送者的用户名。
我尝试了 get_entity、get_input_entity 方法。但这表明错误。AttributeError: 'coroutine' object has no attribute 'chat' 我什至不知道如何处理 coroutine 对象
@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)
我只想从消息对象中提取用户名
解决方案
要获取有关发件人的完整信息,您需要执行以下操作:
sender = await event.get_sender()
print(sender.username)
你得到这个错误的原因是你忘了await
在做之前放client.get_input_entity
推荐阅读
- python - 带有选择的数据框做作
- php - Laravel websockets 缓存事件类并且不会重新加载更改
- makefile - 在 Makefile 的先决条件下使用 $@
- javascript - 在数组中查找项目并设置为第一个索引
- vb.net - 并行循环后的vb.net排序字典
- php - 在 WooCommerce 短代码输出顶部添加一个 div
- html - 如果兄弟 div 溢出,CSS 选择器?
- permissions - Keycloak 在资源和权限方面可以扩展多远?
- python - 为每个网格单元创建粒子位置列表
- python - 如何通过 python 程序从存储在 .txt 文件中的 HTML/JS 代码中的单词列表中查找单词?