Telegram, получение file_id для существующего стикера

Я пишу бот Telegram и хочу, чтобы он отправил стикер.

Здесь сказано, что для отправки стикера, который уже существует на серверах Telegram, мы можем просто передать file_id. Дело в том, что я понятия не имею, как получить file_id любой наклейки. Например, как мне отправить какую-нибудь наклейку из набора Greater Minds? Я полагаю, этот пакет находится на серверах Telegram, так как они включают его в каждое приложение.

2 ответа

Решение

Чтобы открыть стикер file_id:

  1. Отправьте стикер из приложения Telegram на своего бота.

  2. Используйте бот 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
        }
Другие вопросы по тегам