Невозможно добавить библиотеку Telegram Bot; Начинающие терпят неудачу? - PullRequest
1 голос
/ 16 марта 2020

Я только начал отстраняться от задач университета и занимался своими собственными проектами. Я хочу запрограммировать Java Telegram Bot для взаимодействия с другими классами. К сожалению, я не могу добавить правильную зависимость или просто не могу импортировать все функции. Я пытался следовать нескольким учебникам, но у меня были ошибки в любом из них. Одним из наиболее многообещающих руководств было следующее: https://github.com/rubenlagus/TelegramBots/wiki/Getting-Started

Я следовал инструкциям (добавил библиотеку с Maven) и вставил код. После этого я импортировал необходимый librar ie. Однако программа не может вызвать метод execute, и я не знаю почему. Я надеюсь, что я указал topi c достаточно подробно. Заранее спасибо.

Основной класс:

import org.telegram.telegrambots.ApiContextInitializer;
        import org.telegram.telegrambots.meta.TelegramBotsApi;
        import org.telegram.telegrambots.meta.exceptions.TelegramApiException;
        import org.telegram.telegrambots.meta.generics.LongPollingBot;

public class Main {
    public static void main(String[] args) {

        ApiContextInitializer.init();

        TelegramBotsApi botsApi = new TelegramBotsApi();

        try {
            botsApi.registerBot((LongPollingBot) new Bot());
        } catch (TelegramApiException e) {
            e.printStackTrace();
        }
    }
}

Класс бота

import org.telegram.telegrambots.api.objects.Update;
import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.meta.api.methods.send.SendMessage;
import org.telegram.telegrambots.meta.exceptions.TelegramApiException;

public class Bot extends TelegramLongPollingBot {

    @Override
    public void onUpdateReceived(Update update) {
        // We check if the update has a message and the message has text
        if (update.hasMessage() && update.getMessage().hasText()) {
            SendMessage message = new SendMessage() // Create a SendMessage object with mandatory fields
                    .setChatId(update.getMessage().getChatId())
                    .setText(update.getMessage().getText());
            try {
                execute(message); // Call method to send the message
            } catch (TelegramApiException e) {
                e.printStackTrace();
            }
        }
    }

    @Override
    public String getBotUsername() {
        return null;
    }

    @Override
    public String getBotToken() {
        return null;
    }

    @Override
    public void onClosing() {

    }
}

Ошибка

Error:(16, 17) java: cannot find symbol
  symbol:   method execute(org.telegram.telegrambots.meta.api.methods.send.SendMessage)
  location: class Bot

...