Как отправить локальную фотографию в телеграм-боте для java

У меня есть задача: Нужно отправить фото с моей локальной папкой в ​​телеграм-боте.

Предварительное условие:

Пользуюсь вот этой библиотекой https://github.com/rubenlagus/TelegramBots

В файле POM:

 <repositories>
    <repository>
        <id>jitpack.io</id>
        <url>https://jitpack.io</url>
    </repository>
</repositories>

<dependencies>
    <dependency>
        <groupId>com.github.rubenlagus</groupId>
        <artifactId>TelegramBots</artifactId>
        <version>4.1</version>
    </dependency>

Как создать метод отправки?

Я попробовал сделать так:

public void sendInTelegram() {
    try {
        TelegramLongPollingBot telegramLongPollingBot = new TelegramLongPollingBot() {
            @Override
            public String getBotToken() {
                return "My_Token";
            }

            @Override
            public void onUpdateReceived(Update update) {
                try {
                    SendPhoto message = new SendPhoto().setPhoto("SomeText", new FileInputStream(new File("/root/index.png")));
                    this.sendPhoto(message);

                } catch (FileNotFoundException e) {
                    e.printStackTrace();
                }
            }

            @Override
            public String getBotUsername() {
                return "my_bot";
            }
        };
    } catch (Exception e) {
        logger.error("Send in Telegram fail");
        Assert.fail("Send in Telegram fail");
    }

но his.sendPhoto (сообщение); sendPhoto не решено введите описание изображения здесь

Подскажите пожалуйста, чего не хватило, чтобы фото можно было прислать?

возможный дубликат Отправить фото

lloyd 24.10.2018 08:23

Я прошу реализацию Java, а не Node.js

Serhii QA 24.10.2018 09:46
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
4 929
1

Ответы 1

Используйте execute, а не sendPhoto:

SendPhoto message = new SendPhoto().setPhoto("SomeText", new FileInputStream(new File("/root/index.png")));
this.execute(message);

Другие вопросы по теме