2

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

0stone0
  • 34,288
  • 4
  • 39
  • 64

2 Answers2

0

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)
keyiflerolsun
  • 191
  • 1
  • 7
0

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

0stone0
  • 34,288
  • 4
  • 39
  • 64