【问题标题】:How to read message that has been replied to in telegram using telethon如何使用 Telethon 阅读已在电报中回复的消息
【发布时间】:2020-10-18 14:55:06
【问题描述】:

我需要有脚本来阅读电报频道的最后一条消息。如果此频道的最后一条消息是回复我想阅读该消息的最后一条消息已回复的内容。例如这张图片上突出显示的消息。

https://i.stack.imgur.com/cRSzS.jpg

我有这段代码可以阅读最后一条消息,但我不知道如何阅读该消息,我知道我可以使用参数 is_reply 来了解最后一条消息是否回复某事,但我不知道下一步该做什么想法?

async def get_mess():
    limit = 1
    global new
    async for message in client.iter_messages('Passive Lifestyle Forex Signals', limit):
        new = message.text

whlie True:
    get_mess()

我知道这不是最有效的,但这并不重要。任何想法如何编码?如果您需要更具体的内容,我可以回答您。

【问题讨论】:

    标签: python python-3.x telegram-bot python-telegram-bot telethon


    【解决方案1】:
    async def get_mess():
        limit = 1
        global new
        async for message in client.iter_messages('Passive Lifestyle Forex Signals', limit):
            new = message
            if new.reply_to_msg_id:
                yourtext = await new.get_reply_message()
    
    whlie True:
        get_mess()
    

    【讨论】:

    • 这可以通过使用get_messages 摆脱循环来简化。如果没有回复,get_reply_message 也会返回None,因此无需检查reply_to_msg_id
    【解决方案2】:

    我建议使用get_messages 来获取最后一条消息,这样您也可以省略限制。然后您需要检查该消息是否正在回复另一条消息,如果是,请获取它。

       async def get_mess():
           global new
           message = await client.get_messages('YOUR CHAT') # you can omit the limit
           if message.is_reply:
               new = await message.get_reply_message()
       whlie True:
           get_mess() 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-16
      • 2019-04-07
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多