如何找到短信的哪个部分有嵌套链接并将其打开?
问题描述
我在电报中收到的短信示例:
我的问题是,我的脚本如何检查消息并最终通过嵌套链接打开站点? 我已尝试:收听最佳音乐:Ava Max - My Head & My Heart
for entity in event.message.text:
if isinstance(entity, MessageEntityTextUrl):
open_url(entity.url)
但运气不佳-脚本无法打开链接。
//编辑 实施Watzon的解决方案:
async def my_event_handler(event):
msg = event.message.message
for _, inner_text in msg.get_entities_text(MessageEntityTextUrl):
open_url(inner_text)
现在错误是:
...in my_event_handler
for _, inner_text in msg.get_entities_text(MessageEntityTextUrl):
AttributeError: 'str' object has no attribute 'get_entities_text'
我肯定错过了这里的错误,我应该在消息中更改什么?
//编辑2
msg = event.message
已修复错误,但我仍然无法将链接作为输出。
解决方案
正确实现@Watzon的答案如下所示:
from telethon.tl.types import MessageEntityTextUrl
async def my_event_handler(event):
msg = event.message
for url_entity, inner_text in msg.get_entities_text(MessageEntityTextUrl):
url = url_entity.url
open_url(url)
...
相关文章