Telegram, получение file_id для существующего стикера
Я пишу бот Telegram и хочу, чтобы он отправил стикер.
Здесь сказано, что для отправки стикера, который уже существует на серверах Telegram, мы можем просто передать file_id. Дело в том, что я понятия не имею, как получить file_id любой наклейки. Например, как мне отправить какую-нибудь наклейку из набора Greater Minds? Я полагаю, этот пакет находится на серверах Telegram, так как они включают его в каждое приложение.
2 ответа
Чтобы открыть стикер file_id
:
Отправьте стикер из приложения Telegram на своего бота.
Используйте бот
getUpdates
Способ получения стикера. Вы должны увидеть стикерfile_id
в сообщении.
Ваш бот может использовать это file_id
отправить такую же наклейку другому пользователю. Быть осторожен; в сообщении есть thumb
поле, которое также имеет file_id
, Не используйте его для отправки стикера. Это не сработает.
Другая возможность, о которой вы можете знать, это то, что вы всегда можете загрузить изображение стикера в файл на диске, а затем использовать этот файл в качестве sticker
параметр для sendSticker
метод, эквивалентный загрузке файла.
Перейдите к боту @RawDataBot или http://t.me/RawDataBot . Затем отправьте/перешлите свою наклейку этому боту. Возвращаются различные данные. Вы можете найти
Пример:
"sticker": {
"width": 512,
"height": 512,
"emoji": "\ud83d\udc4d",
"set_name": "GengMisi",
"is_animated": false,
"is_video": false,
"thumb": {
"file_id": "AAMCBQADGQEAARNXJ2JmLCEf98yfbH4IrxllIeSUBERZAAIeAAP2groPvWHPcxamOuYBAAdtAAMkBA",
"file_unique_id": "AQADHgAD9oK6D3I",
"file_size": 4562,
"width": 128,
"height": 128
},
"file_id": "CAACAgUAAxkBAAETVydiZiwhH_fMn2x-CK8ZZSHklAREWQACHgAD9oK6D71hz3MWpjrmJAQ",
"file_unique_id": "AgADHgAD9oK6Dw",
"file_size": 26966
}