Straight out from the documentation:
Suppose the website example.com would like to send notifications to its users via a Telegram bot. Here's what they could do to enable notifications for a user with the ID 123.
- Create a bot with a suitable username, e.g. @ExampleComBot
- Set up a webhook for incoming messages
- Generate a random string of a sufficient length, e.g. $
memcache_key = "vCH1vGWJxfSeofSAs0K5PA"
- Put the value 123 with the key $memcache_key into Memcache for 3600 seconds (one hour)
- Show our user the button https://telegram.me/ExampleComBot?start=vCH1vGWJxfSeofSAs0K5PA
- Configure the webhook processor to query Memcached with the parameter that is passed in incoming messages beginning with
/start
. If the key exists, record the chat_id passed to the webhook as telegram_chat_id for the user 123. Remove the key from Memcache.
- Now when we want to send a notification to the user 123, check if they have the field
telegram_chat_id
. If yes, use the sendMessage
method in the Bot API to send them a message in Telegram.