diff --git a/.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v1_0.xml b/.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_0_0.xml similarity index 56% rename from .idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v1_0.xml rename to .idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_0_0.xml index dd13cd3..03cfead 100644 --- a/.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v1_0.xml +++ b/.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_0_0.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/BotAPi.iml b/BotAPi.iml index 4ff71c6..78c0674 100644 --- a/BotAPi.iml +++ b/BotAPi.iml @@ -11,7 +11,7 @@ - + diff --git a/pom.xml b/pom.xml index fa0cd85..a069916 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ BotApi org.telegram.botapi - 1.0 + 2.0 @@ -26,7 +26,7 @@ UTF-8 2.22.1 4.5.1 - v1.0 + v2.0.0 diff --git a/src/main/java/org/telegram/services/TransifexService.java b/src/main/java/org/telegram/services/TransifexService.java index ce8bb37..0316f26 100644 --- a/src/main/java/org/telegram/services/TransifexService.java +++ b/src/main/java/org/telegram/services/TransifexService.java @@ -8,9 +8,15 @@ import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClientBuilder; import org.telegram.BuildVars; -import org.telegram.telegrambots.api.methods.SendDocument; +import org.telegram.telegrambots.api.methods.send.SendDocument; -import java.io.*; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStreamReader; +import java.io.PrintWriter; /** * @author Ruben Bermudez diff --git a/src/main/java/org/telegram/updateshandlers/ChannelHandlers.java b/src/main/java/org/telegram/updateshandlers/ChannelHandlers.java index 85db7c2..a5f2b1f 100644 --- a/src/main/java/org/telegram/updateshandlers/ChannelHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/ChannelHandlers.java @@ -3,11 +3,11 @@ package org.telegram.updateshandlers; import org.telegram.BotConfig; import org.telegram.services.BotLogger; import org.telegram.telegrambots.TelegramApiException; -import org.telegram.telegrambots.api.methods.SendMessage; -import org.telegram.telegrambots.api.objects.ForceReplyKeyboard; +import org.telegram.telegrambots.api.methods.send.SendMessage; import org.telegram.telegrambots.api.objects.Message; -import org.telegram.telegrambots.api.objects.ReplyKeyboardMarkup; import org.telegram.telegrambots.api.objects.Update; +import org.telegram.telegrambots.api.objects.replykeyboard.ForceReplyKeyboard; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardMarkup; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import java.io.InvalidObjectException; diff --git a/src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java b/src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java index e53057b..0e3b0f2 100644 --- a/src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java @@ -9,8 +9,13 @@ import org.telegram.services.DirectionsService; import org.telegram.services.LocalisationService; import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.api.methods.BotApiMethod; -import org.telegram.telegrambots.api.methods.SendMessage; -import org.telegram.telegrambots.api.objects.*; +import org.telegram.telegrambots.api.methods.send.SendMessage; +import org.telegram.telegrambots.api.objects.Message; +import org.telegram.telegrambots.api.objects.Update; +import org.telegram.telegrambots.api.objects.replykeyboard.ForceReplyKeyboard; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardHide; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardMarkup; +import org.telegram.telegrambots.api.objects.replykeyboard.buttons.KeyboardRow; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import org.telegram.telegrambots.updateshandlers.SentCallback; @@ -222,9 +227,9 @@ public class DirectionsHandlers extends TelegramLongPollingBot { sendMessageRequest.setChatId(message.getChatId().toString()); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); HashMap languages = LocalisationService.getInstance().getSupportedLanguages(); - List> commands = new ArrayList<>(); + List commands = new ArrayList<>(); for (Map.Entry entry : languages.entrySet()) { - List commandRow = new ArrayList<>(); + KeyboardRow commandRow = new KeyboardRow(); commandRow.add(entry.getKey() + " --> " + entry.getValue()); commands.add(commandRow); } diff --git a/src/main/java/org/telegram/updateshandlers/FilesHandlers.java b/src/main/java/org/telegram/updateshandlers/FilesHandlers.java index f0c9420..cd82fe2 100644 --- a/src/main/java/org/telegram/updateshandlers/FilesHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/FilesHandlers.java @@ -7,12 +7,13 @@ import org.telegram.services.BotLogger; import org.telegram.services.Emoji; import org.telegram.services.LocalisationService; import org.telegram.telegrambots.TelegramApiException; -import org.telegram.telegrambots.api.methods.SendDocument; -import org.telegram.telegrambots.api.methods.SendMessage; +import org.telegram.telegrambots.api.methods.send.SendDocument; +import org.telegram.telegrambots.api.methods.send.SendMessage; import org.telegram.telegrambots.api.objects.Message; -import org.telegram.telegrambots.api.objects.ReplyKeyboardHide; -import org.telegram.telegrambots.api.objects.ReplyKeyboardMarkup; import org.telegram.telegrambots.api.objects.Update; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardHide; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardMarkup; +import org.telegram.telegrambots.api.objects.replykeyboard.buttons.KeyboardRow; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import java.io.InvalidObjectException; @@ -144,9 +145,9 @@ public class FilesHandlers extends TelegramLongPollingBot { HashMap files = DatabaseManager.getInstance().getFilesByUser(message.getFrom().getId()); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); if (files.size() > 0) { - List> commands = new ArrayList<>(); + List commands = new ArrayList<>(); for (Map.Entry entry : files.entrySet()) { - List commandRow = new ArrayList<>(); + KeyboardRow commandRow = new KeyboardRow(); commandRow.add(Commands.deleteCommand + " " + entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString() + " " + entry.getValue()); commands.add(commandRow); @@ -244,9 +245,9 @@ public class FilesHandlers extends TelegramLongPollingBot { sendMessageRequest.setChatId(message.getChatId().toString()); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); HashMap languages = LocalisationService.getInstance().getSupportedLanguages(); - List> commands = new ArrayList<>(); + List commands = new ArrayList<>(); for (Map.Entry entry : languages.entrySet()) { - List commandRow = new ArrayList<>(); + KeyboardRow commandRow = new KeyboardRow(); commandRow.add(entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString() + " " + entry.getValue()); commands.add(commandRow); } diff --git a/src/main/java/org/telegram/updateshandlers/RaeHandlers.java b/src/main/java/org/telegram/updateshandlers/RaeHandlers.java index 6637772..c24eecf 100644 --- a/src/main/java/org/telegram/updateshandlers/RaeHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/RaeHandlers.java @@ -5,8 +5,13 @@ import org.telegram.services.BotLogger; import org.telegram.services.RaeService; import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.api.methods.AnswerInlineQuery; -import org.telegram.telegrambots.api.methods.SendMessage; -import org.telegram.telegrambots.api.objects.*; +import org.telegram.telegrambots.api.methods.send.SendMessage; +import org.telegram.telegrambots.api.objects.Message; +import org.telegram.telegrambots.api.objects.Update; +import org.telegram.telegrambots.api.objects.inlinequery.InlineQuery; +import org.telegram.telegrambots.api.objects.inlinequery.inputmessagecontent.InputTextMessageContent; +import org.telegram.telegrambots.api.objects.inlinequery.result.InlineQueryResult; +import org.telegram.telegrambots.api.objects.inlinequery.result.InlineQueryResultArticle; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import java.util.ArrayList; @@ -64,9 +69,9 @@ public class RaeHandlers extends TelegramLongPollingBot { try { if (!query.isEmpty()) { List results = raeService.getResults(query); - sendAnswerInlineQuery(converteResultsToResponse(inlineQuery, results)); + answerInlineQuery(converteResultsToResponse(inlineQuery, results)); } else { - sendAnswerInlineQuery(converteResultsToResponse(inlineQuery, new ArrayList<>())); + answerInlineQuery(converteResultsToResponse(inlineQuery, new ArrayList<>())); } } catch (TelegramApiException e) { BotLogger.error(LOGTAG, e); @@ -97,11 +102,13 @@ public class RaeHandlers extends TelegramLongPollingBot { for (int i = 0; i < raeResults.size(); i++) { RaeService.RaeResult raeResult = raeResults.get(i); + InputTextMessageContent messageContent = new InputTextMessageContent(); + messageContent.disableWebPagePreview(); + messageContent.enableMarkdown(true); + messageContent.setMessageText(raeResult.getDefinition()); InlineQueryResultArticle article = new InlineQueryResultArticle(); - article.setDisableWebPagePreview(true); - article.enableMarkdown(true); + article.setInputMessageContent(messageContent); article.setId(Integer.toString(i)); - article.setMessageText(raeResult.getDefinition()); article.setTitle(raeResult.getTitle()); article.setDescription(raeResult.getDescription()); article.setThumbUrl(THUMBNAILBLUE); diff --git a/src/main/java/org/telegram/updateshandlers/TransifexHandlers.java b/src/main/java/org/telegram/updateshandlers/TransifexHandlers.java index 5b8bb4e..e8034d6 100644 --- a/src/main/java/org/telegram/updateshandlers/TransifexHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/TransifexHandlers.java @@ -7,8 +7,8 @@ import org.telegram.services.BotLogger; import org.telegram.services.LocalisationService; import org.telegram.services.TransifexService; import org.telegram.telegrambots.TelegramApiException; -import org.telegram.telegrambots.api.methods.SendDocument; -import org.telegram.telegrambots.api.methods.SendMessage; +import org.telegram.telegrambots.api.methods.send.SendDocument; +import org.telegram.telegrambots.api.methods.send.SendMessage; import org.telegram.telegrambots.api.objects.Message; import org.telegram.telegrambots.api.objects.Update; import org.telegram.telegrambots.bots.TelegramLongPollingBot; diff --git a/src/main/java/org/telegram/updateshandlers/WeatherHandlers.java b/src/main/java/org/telegram/updateshandlers/WeatherHandlers.java index 3232b6a..d4ef269 100644 --- a/src/main/java/org/telegram/updateshandlers/WeatherHandlers.java +++ b/src/main/java/org/telegram/updateshandlers/WeatherHandlers.java @@ -3,11 +3,22 @@ package org.telegram.updateshandlers; import org.telegram.BotConfig; import org.telegram.Commands; import org.telegram.database.DatabaseManager; -import org.telegram.services.*; +import org.telegram.services.BotLogger; +import org.telegram.services.CustomTimerTask; +import org.telegram.services.Emoji; +import org.telegram.services.LocalisationService; +import org.telegram.services.TimerExecutor; +import org.telegram.services.WeatherService; import org.telegram.structure.WeatherAlert; import org.telegram.telegrambots.TelegramApiException; -import org.telegram.telegrambots.api.methods.SendMessage; -import org.telegram.telegrambots.api.objects.*; +import org.telegram.telegrambots.api.methods.send.SendMessage; +import org.telegram.telegrambots.api.objects.Message; +import org.telegram.telegrambots.api.objects.Update; +import org.telegram.telegrambots.api.objects.replykeyboard.ForceReplyKeyboard; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboard; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardHide; +import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardMarkup; +import org.telegram.telegrambots.api.objects.replykeyboard.buttons.KeyboardRow; import org.telegram.telegrambots.bots.TelegramLongPollingBot; import java.util.ArrayList; @@ -899,11 +910,11 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(false); - List> keyboard = new ArrayList<>(); - List keyboardFirstRow = new ArrayList<>(); + List keyboard = new ArrayList<>(); + KeyboardRow keyboardFirstRow = new KeyboardRow(); keyboardFirstRow.add(getCurrentCommand(language)); keyboardFirstRow.add(getForecastCommand(language)); - List keyboardSecondRow = new ArrayList<>(); + KeyboardRow keyboardSecondRow = new KeyboardRow(); keyboardSecondRow.add(getSettingsCommand(language)); keyboardSecondRow.add(getRateCommand(language)); keyboard.add(keyboardFirstRow); @@ -919,14 +930,14 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(false); - List> keyboard = new ArrayList<>(); + List keyboard = new ArrayList<>(); for (String languageName : LocalisationService.getInstance().getSupportedLanguages().values()) { - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(languageName); keyboard.add(row); } - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(getCancelCommand(language)); keyboard.add(row); replyKeyboardMarkup.setKeyboard(keyboard); @@ -940,14 +951,14 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(false); - List> keyboard = new ArrayList<>(); - List row = new ArrayList<>(); + List keyboard = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(LocalisationService.getInstance().getString("metricSystem", language)); keyboard.add(row); - row = new ArrayList<>(); + row = new KeyboardRow(); row.add(LocalisationService.getInstance().getString("imperialSystem", language)); keyboard.add(row); - row = new ArrayList<>(); + row = new KeyboardRow(); row.add(getCancelCommand(language)); keyboard.add(row); replyKeyboardMarkup.setKeyboard(keyboard); @@ -961,11 +972,11 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(false); - List> keyboard = new ArrayList<>(); - List keyboardFirstRow = new ArrayList<>(); + List keyboard = new ArrayList<>(); + KeyboardRow keyboardFirstRow = new KeyboardRow(); keyboardFirstRow.add(getLanguagesCommand(language)); keyboardFirstRow.add(getUnitsCommand(language)); - List keyboardSecondRow = new ArrayList<>(); + KeyboardRow keyboardSecondRow = new KeyboardRow(); keyboardSecondRow.add(getAlertsCommand(language)); keyboardSecondRow.add(getBackCommand(language)); keyboard.add(keyboardFirstRow); @@ -985,23 +996,23 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(true); - List> keyboard = new ArrayList<>(); + List keyboard = new ArrayList<>(); for (String recentWeather : DatabaseManager.getInstance().getRecentWeather(userId)) { - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(recentWeather); keyboard.add(row); } - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); if (allowNew) { row.add(getLocationCommand(language)); keyboard.add(row); - row = new ArrayList<>(); + row = new KeyboardRow(); row.add(getNewCommand(language)); keyboard.add(row); - row = new ArrayList<>(); + row = new KeyboardRow(); } row.add(getCancelCommand(language)); keyboard.add(row); @@ -1017,14 +1028,14 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(true); - List> keyboard = new ArrayList<>(); + List keyboard = new ArrayList<>(); - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(getNewCommand(language)); row.add(getDeleteCommand(language)); keyboard.add(row); - row = new ArrayList<>(); + row = new KeyboardRow(); row.add(getListCommand(language)); row.add(getBackCommand(language)); keyboard.add(row); @@ -1044,13 +1055,13 @@ public class WeatherHandlers extends TelegramLongPollingBot { replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setOneTimeKeyboad(true); - List> keyboard = new ArrayList<>(); + List keyboard = new ArrayList<>(); for (String alertCityName: alertCitiesNames) { - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(alertCityName); keyboard.add(row); } - List row = new ArrayList<>(); + KeyboardRow row = new KeyboardRow(); row.add(getCancelCommand(language)); keyboard.add(row);