skip to Main Content

How do I mark a message as read?

app = Client(session_name, api_id, api_hash)


@app.on_message()
async def my_handler(client, message):
    await app.send_message(message.from_user.username, "ok boss")
    await app.read_chat_history(message.from_user.username)

app.run()

enter image description here

I expected the bot’s message to be ticked that he had read it

2

Answers


  1. Client.read_chat_history()

    Mark a chat’s message history as read.

    Usable by

    • [X] Users
    • [ ] Bots

    Parameters:

    • chat_id (int | str) – Unique identifier (int) or username (str) of the target chat. For your personal cloud (Saved Messages) you can simply use “me” or “self”. For a contact that exists in your Telegram address book you can use his phone number (str).

    • max_id (int, optional) – The id of the last message you want to mark as read; all the messages before this one will be marked as read as well. Defaults to 0 (mark every unread message as read).

    Returns:

    bool – On success, True is returned.

    EXAMPLE

    # Mark the whole chat as read
    await app.read_chat_history(chat_id)
    
    # Mark messages as read only up to the given message id
    await app.read_chat_history(chat_id, 12345)
    
    Login or Signup to reply.
  2. I expected the bot’s message to be ticked that he had read it

    This is not possible, messages send by a Telegram Bot will never get those checkmarks.

    Those marks are only for messages send from a user-account

    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search