Telegram,现有贴纸获得 file_id

Telegram, getting file_id for existing sticker

我正在写一个 Telegram 机器人,我想让它发送一个贴纸。

据说 here,要发送 Telegram 服务器上已经存在的贴纸,我们只需传递 file_id。问题是,我完全不知道如何获得任何贴纸的 file_id。例如。我如何发送 Greater Minds 包中的任何贴纸?我想,这个包在 Telegram 服务器上,因为它们包含在每个应用程序中。

发现贴纸的file_id

  1. 将 Telegram 应用程序中的贴纸发送到您的机器人。

  2. 使用机器人的getUpdates方法接收贴纸。您应该会在消息中看到贴纸的 file_id

您的机器人可能会使用 file_id 将相同的标签发送给其他用户。当心;消息中有一个 thumb 字段,它还有一个 file_id不要 使用那个来发送贴纸。不行。

您可能知道的另一种可能性是,您始终可以将贴纸图像下载到磁盘文件,然后将该文件用作 sendSticker 方法的 sticker 参数,等同于上传文件。

转到 @RawDataBot 机器人,或 http://t.me/RawDataBot。然后 send/forward 你给那个机器人的贴纸。返回各种数据。您可以查找 sticker 参数。

示例:

"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
        }