首页 > 解决方案 > 使用 MediaGroup 发送多个图像

问题描述

我正在使用这个库:https ://github.com/rubenlagus

我想在一封邮件中发送多张图片。我该怎么做?我知道 SendMediaGroup,但似乎我不明白它是如何工作的。

例如,我有图像的 URL,它适用于单个 SendPhoto 方法,但我无法使用 MediaGroup 配置它。它需要InputMedia.

public void handlePhoto(Update update) {
        String image1 = "https://lh3.googleusercontent.com/af9mFH4XinZ7f6dx-Ygm9molYPAcMHhhZyQ0udDBd9S9-44v_VBdeA0rjSlQyJRpQg=w1920-h937-rw";
        String image2 = "https://lh3.googleusercontent.com/mo0CZaV_aGflOPB8Tzo697l1WoZuoYUN9TiPMWq0zE29v_I99n1Qg185MfHrU-53nxAG=w1920-h937-rw";
        String image3 = "https://lh3.googleusercontent.com/FEiHmVyoT1MU3rbAxSkE_aNDuXBuo3YHQOnqfMAfehS-d4k6CvxuyxpX6KKSbJp3Xv28=w1920-h937-rw";
       
        List<InputMedia> media = new ArrayList<>();
        InputMedia photo1 = new InputMediaPhoto();
        photo1.setMedia(image1);
        InputMedia photo2 = new InputMediaPhoto();
        photo2.setMedia(image2);
        InputMedia photo3 = new InputMediaPhoto();
        photo3.setMedia(image3);
        media.add(photo1);
        media.add(photo2);
        media.add(photo3);
        SendMediaGroup mediaGroup = new SendMediaGroup();
        mediaGroup.setChatId(update.getMessage().getChatId());
        mediaGroup.setMedia(media);
        try {
            execute(mediaGroup);
        }
        catch (TelegramApiException e) {
            e.printStackTrace();
        }
    }

我收到此错误:

org.telegram.telegrambots.meta.exceptions.TelegramApiRequestException: Error sending media group: [400] Bad Request: wrong type of the web page content

wrong type of the web page content意味着 Telegram(或此 API)无法处理 .webp 图像。有什么技巧吗?

标签: javatelegramtelegram-bot

解决方案


Telegram API 支持 .webp 格式。也许您违反了以下规则之一:`照片大小不得超过 10 MB。照片的宽高合计不得超过10000。宽高比不得超过 20。


推荐阅读