Ошибка синтаксиса Java: Required type: GetUpdates Provided: void
Хотел написать простенький телеграм бот, но столкнулся с ошибкой. У меня есть метод waitUserInput()
, который ждет ответа пользователя и возвращает строку с тем, что ввел пользователь. Но в коде есть 1 ошибка, которую я никак не могу исправить.
public String waitUserInput() {
TelegramBot bot = new TelegramBot();
String userInput = "";
int lastUpdateId = 0; // переменная для хранения идентификатора последнего обновления
while (true) {
List<Update> updates = new ArrayList<>();
try {
GetUpdates getUpdates = new GetUpdates().setOffset(lastUpdateId + 1);
updates = bot.execute(getUpdates);
} catch (TelegramApiException e) {
e.printStackTrace();
}
for (Update update : updates) {
if (update.hasMessage() && update.getMessage().hasText()) {
userInput = update.getMessage().getText();
lastUpdateId = update.getUpdateId(); // обновляем значение идентификатора последнего обновления
}
}
if (!userInput.isEmpty()) {
break;
}
try {
Thread.sleep(1000); // ждем 1 секунду перед повторной проверкой наличия новых сообщений
} catch (InterruptedException e) {
e.printStackTrace();
}
}
return userInput;
}
А именно в строке
GetUpdates getUpdates = new GetUpdates().setOffset(lastUpdateId + 1);
возникает ошибка
Required type: GetUpdates
Provided: void
Помогите пожалуйста.
Источник: Stack Overflow на русском