Я только начал отстраняться от задач университета и занимался своими собственными проектами. Я хочу запрограммировать 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