Разбор метода обращения к API Telegram 👇
sendStickerВ данном разборе мы усложним формат работы с методом "sendSticker" и разберем, как отправлять стикеры, которые не размещены в рамках Telegram и получать информацию о стикерах без использования стороннего бота.
- Метод sendSticker с отправкой собственного изображения в формате стикера.
Вспомним, что ранее наш запрос выглядел следующим образом:
https://api.telegram.org/bot{{Токен}}/sendSticker?chat_id={{telegram_id}}&sticker=CAACAgIAAxkBAAEKfdBlJC6vz9fxrprqO6NBmvYtEMm8wgACcgADBKxjF5OlBzBPrfbHMAQ
Для параметра sticker мы указывали file_id, полученный в боте.
Для того, чтобы отправить изображение в формате стикера, необходимо конвертировать его из любого формата png/jpg в формат webp.
Сделать это можно с помощью конвертора: https://convertio.co/ru/png-webp/
Далее необходимо подгрузить изображение на хостинг. В рамках данного разбора, воспользуемся хостингом: https://ru.imgbb.com/

После загрузки изображения, необходимо скопировать часть ссылки, как это сделано на скрине выше.
Полученную ссылку мы размещаем в значением параметра "sticker".
Итоговый вид запроса:
https://api.telegram.org/bot{{Токен}}/sendSticker?chat_id={{telegram_id}}&sticker=https://i.ibb.co/3cjyv4K/IMG-4512.webp

2. Получение file_id стикера без использования сторонних сервисов.
Для того, чтобы получить file_id определенного стикера из набора необходимо воспользоваться методом "getStickerSet".
В запросе необходимо указать параметр "name" - наименование набора.
Для этого - кликните правой кнопкой мыши на стикер из набора и нажмите "Информация о наборе".

После этого, нажмите "Поделиться стикерами".

И скопируйте выделенную часть ссылки, она и будет являться наименованием набора 👇
https://t.me/addstickers/sobakensn
Итоговый вид запроса: https://api.telegram.org/bot{{Токен}}/getStickerSet?name=sobakensn
Важно! Обязательно включите функцию "Выводить тело ответа в чат".
После того, как запрос отработает, вы увидите в переписке с ботом ответ сервера в формате JSON.

Чтобы изъять корректный file_id, нам понадобится JSON formatter.
В рамках данного разбора воспользуемся: https://jsonformatter.org/
Скопируйте все сообщения от чат-бота в левое поле, как это сделано на скриншоте ниже, и воспользуйтесь форматом отображения "Tree", который позволяет структурировать информацию.

Далее необходимо посчитать порядковый номер нужного стикера и отнять от получившегося значения 1.
В данном случае номер стикера 22: 22-1=21.
Разверните в получившемся ответе поле "Stickers".

Найдите необходимый номер стикера и скопируйте значение "file_id".

Использованный HTTP запрос можно убрать из сценария, а полученный file_id добавить в запрос метода sendSticker.
Итоговый вид запроса:
Вуаля! Вы научились самостоятельно получать file_id стикеров в Telegram и подгружать собственные картинки в формате стикеров.
Надеемся, что данный разбор был полезен, и ждем ваших 🔥