如何找到短信的哪个部分有嵌套链接并将其打开?

How to find which part of text message has a nested link/and open it?(如何找到短信的哪个部分有嵌套链接并将其打开?)
本文介绍了如何找到短信的哪个部分有嵌套链接并将其打开?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在电报中收到的短信示例:

收听最佳音乐: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)
        ...

这篇关于如何找到短信的哪个部分有嵌套链接并将其打开?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Leetcode 234: Palindrome LinkedList(Leetcode 234:回文链接列表)
How do I read an Excel file directly from Dropbox#39;s API using pandas.read_excel()?(如何使用PANDAS.READ_EXCEL()直接从Dropbox的API读取Excel文件?)
subprocess.Popen tries to write to nonexistent pipe(子进程。打开尝试写入不存在的管道)
I want to realize Popen-code from Windows to Linux:(我想实现从Windows到Linux的POpen-code:)
Reading stdout from a subprocess in real time(实时读取子进程中的标准输出)
How to call type safely on a random file in Python?(如何在Python中安全地调用随机文件上的类型?)