skip to Main Content

I am getting all messages of a Telegram channel via GetHistoryRequest. I would like to run a script every day, which gives me the new messages. Is it possible to reverse the order of the messages inside GetHistoryRequest? I have seen an additional property reverse=True, but this gives me an error message. Here is the code (which is available online)

history = client(GetHistoryRequest(
            peer=my_channel,
            offset_id=0,
            offset_date=None,
            add_offset=0,
            limit=limit,
            max_id=0,
            min_id=0,
            hash=0
        ))

2

Answers


  1. According to the docs
    GetHistoryRequest does not have a reverse argument. But, the method client.iter_messages does

    Login or Signup to reply.
  2. This works here . Downaload 100 message

    from telethon.tl import functions, types
    
    channel_link = "https://t.me/joinchat/xxxxxx-xxx"
    channel_hash = channel_link.strip().split("joinchat/",1)[1]
    
    
    channel = await client(functions.messages.CheckChatInviteRequest(hash=channel_hash))
        async for message in client.iter_messages(channel.chat, limit = 100,reverse=True):
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search