7

I'm developing a Telegram bot, and I want to know whether a user, that has started a private chat with my bot, has seen a certain message sent by bot, and to know when has he seen it.
Is it possible to do so?
Thank you very much.

sazary
  • 906
  • 1
  • 9
  • 20

5 Answers5

4

That's currently not possible.

Maak
  • 4,720
  • 3
  • 28
  • 39
4

I'm using this solution.

  1. Create a channel specially for your bot
  2. Let your robot send message from this channel to users, you can use forward method.
  3. Now you can see how many users have seen your message
Khalil Laleh
  • 1,168
  • 10
  • 19
  • thank you, how can I get the count programmatically? I want to use it from api. – sazary Jun 25 '16 at 22:05
  • Frankly, I don't know. But you can get feedback from user after he/she have seen your message via special keyboard. In this way you can gather more precise statistics! – Khalil Laleh Jun 25 '16 at 22:23
  • @KhalilLaleh As you know telegram messages' view count is not that accurate because it resets every 24 hours for more information have a look at [this line](https://stackoverflow.com/questions/42585314/telegram-channels-post-view-count/42588594#42588594). By the way we cannot access the view count using code. – Naser.Sadeghi Dec 31 '17 at 19:03
1

Telegram Bot API has limit functionality. There is absolutely no way to get message view count at the time of this comment.

Usually TDLib can be used instead of Telegram Bot. It is Telegram client library. You can use it directly or make it as services for BOT to call.

For example. use TdApi.GetMessage to get the message, and the returned message has field of interactionInfo which contains forwardCount or viewCount.

eos1d3
  • 255
  • 2
  • 10
0

perhaps this answer help you :

in the end of your message place link example : yoursite.com\checkvisit.php?id=1234

when user open message link automatic run for telegram ...

you can understand message was read

you must in checkvisit.php set to check db if id exist and not read set it to read

then id in db remove or disable

but this method simple - telegram must add 1 parameter to return this

sorry my english not good

  • This is not the solution, sazary wants to know whether the user has seen the message or not (like double tick method in telegram app). What you said can be useful but is not the real solution as many users won't click the link. – Naser.Sadeghi Dec 31 '17 at 19:00
  • 1
    Hi . Yes I say This is not the solution. but for run link does not need to click the link .... link is auto run for show preview in telegram app - I use this method and is ok for me – sadegh zarghami Jan 22 '18 at 20:07
  • 1
    Guys, this really looks like a solution, though the problem is you must always connect that link. So I suppose you downvoted this answer for nothing – Igor Rebega Oct 16 '18 at 08:18
0

it is not possible yet , you might want to search for Madeline bot

  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Community Apr 17 '22 at 20:48