Telegram, getting file_id for existing sticker

Egor Ignatenkov picture Egor Ignatenkov · Dec 18, 2015 · Viewed 18.2k times · Source

I'm writing a Telegram bot and I want it to send a sticker.

It is said here, that to send a sticker that already exists on Telegram servers we can simply pass file_id. The thing is, I have absolutely no idea how to obtain file_id of any sticker. E.g. how do I send any sticker from Greater Minds pack? I suppose, this pack is on Telegram servers since they include it in every app.

Answer

Nick Lee picture Nick Lee · Dec 19, 2015

To discover a sticker's file_id:

  1. Send the sticker from Telegram App to your bot.

  2. Use the bot's getUpdates method to receive the sticker. You should see the sticker's file_id in the message.

Your bot may use that file_id to send the same sticker to another user. Be careful; in the message there is a thumb field, which also has a file_id. Do not use that one to send the sticker. It won't work.

Another possibility, of which you may be aware, is that you can always download the sticker image to a disk file, then use that file as the sticker parameter for sendSticker method, equivalent to uploading the file.