Browse Source

1. Samples Bots 2.0

master
Rubenlagu 10 years ago
committed by Rubenlagus
parent
commit
f33714eaf5
  1. 8
      .idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_0_0.xml
  2. 2
      BotAPi.iml
  3. 4
      pom.xml
  4. 10
      src/main/java/org/telegram/services/TransifexService.java
  5. 6
      src/main/java/org/telegram/updateshandlers/ChannelHandlers.java
  6. 13
      src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java
  7. 17
      src/main/java/org/telegram/updateshandlers/FilesHandlers.java
  8. 21
      src/main/java/org/telegram/updateshandlers/RaeHandlers.java
  9. 4
      src/main/java/org/telegram/updateshandlers/TransifexHandlers.java
  10. 65
      src/main/java/org/telegram/updateshandlers/WeatherHandlers.java

8
.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v1_0.xml → .idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_0_0.xml

@ -1,13 +1,13 @@
<component name="libraryTable"> <component name="libraryTable">
<library name="Maven: com.github.rubenlagus:TelegramBots:v1.0"> <library name="Maven: com.github.rubenlagus:TelegramBots:v2.0.0">
<CLASSES> <CLASSES>
<root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v1.0/TelegramBots-v1.0.jar!/" /> <root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v2.0.0/TelegramBots-v2.0.0.jar!/" />
</CLASSES> </CLASSES>
<JAVADOC> <JAVADOC>
<root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v1.0/TelegramBots-v1.0-javadoc.jar!/" /> <root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v2.0.0/TelegramBots-v2.0.0-javadoc.jar!/" />
</JAVADOC> </JAVADOC>
<SOURCES> <SOURCES>
<root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v1.0/TelegramBots-v1.0-sources.jar!/" /> <root url="jar://$MAVEN_REPOSITORY$/com/github/rubenlagus/TelegramBots/v2.0.0/TelegramBots-v2.0.0-sources.jar!/" />
</SOURCES> </SOURCES>
</library> </library>
</component> </component>

2
BotAPi.iml

@ -11,7 +11,7 @@
</content> </content>
<orderEntry type="inheritedJdk" /> <orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" /> <orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="Maven: com.github.rubenlagus:TelegramBots:v1.0" level="project" /> <orderEntry type="library" name="Maven: com.github.rubenlagus:TelegramBots:v2.0.0" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.1" level="project" /> <orderEntry type="library" name="Maven: org.glassfish.jersey.containers:jersey-container-grizzly2-http:2.22.1" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.4.0-b31" level="project" /> <orderEntry type="library" name="Maven: org.glassfish.hk2.external:javax.inject:2.4.0-b31" level="project" />
<orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.23" level="project" /> <orderEntry type="library" name="Maven: org.glassfish.grizzly:grizzly-http-server:2.3.23" level="project" />

4
pom.xml

@ -6,7 +6,7 @@
<groupId>BotApi</groupId> <groupId>BotApi</groupId>
<artifactId>org.telegram.botapi</artifactId> <artifactId>org.telegram.botapi</artifactId>
<version>1.0</version> <version>2.0</version>
<repositories> <repositories>
<repository> <repository>
@ -26,7 +26,7 @@
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<jersey.version>2.22.1</jersey.version> <jersey.version>2.22.1</jersey.version>
<httpcompontents.version>4.5.1</httpcompontents.version> <httpcompontents.version>4.5.1</httpcompontents.version>
<telegrambots.version>v1.0</telegrambots.version> <telegrambots.version>v2.0.0</telegrambots.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>

10
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.CloseableHttpClient;
import org.apache.http.impl.client.HttpClientBuilder; import org.apache.http.impl.client.HttpClientBuilder;
import org.telegram.BuildVars; 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 * @author Ruben Bermudez

6
src/main/java/org/telegram/updateshandlers/ChannelHandlers.java

@ -3,11 +3,11 @@ package org.telegram.updateshandlers;
import org.telegram.BotConfig; import org.telegram.BotConfig;
import org.telegram.services.BotLogger; import org.telegram.services.BotLogger;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.ForceReplyKeyboard;
import org.telegram.telegrambots.api.objects.Message; 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.Update;
import org.telegram.telegrambots.api.objects.replykeyboard.ForceReplyKeyboard;
import org.telegram.telegrambots.api.objects.replykeyboard.ReplyKeyboardMarkup;
import org.telegram.telegrambots.bots.TelegramLongPollingBot; import org.telegram.telegrambots.bots.TelegramLongPollingBot;
import java.io.InvalidObjectException; import java.io.InvalidObjectException;

13
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.services.LocalisationService;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.BotApiMethod; import org.telegram.telegrambots.api.methods.BotApiMethod;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.*; 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.bots.TelegramLongPollingBot;
import org.telegram.telegrambots.updateshandlers.SentCallback; import org.telegram.telegrambots.updateshandlers.SentCallback;
@ -222,9 +227,9 @@ public class DirectionsHandlers extends TelegramLongPollingBot {
sendMessageRequest.setChatId(message.getChatId().toString()); sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages(); HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages();
List<List<String>> commands = new ArrayList<>(); List<KeyboardRow> commands = new ArrayList<>();
for (Map.Entry<String, String> entry : languages.entrySet()) { for (Map.Entry<String, String> entry : languages.entrySet()) {
List<String> commandRow = new ArrayList<>(); KeyboardRow commandRow = new KeyboardRow();
commandRow.add(entry.getKey() + " --> " + entry.getValue()); commandRow.add(entry.getKey() + " --> " + entry.getValue());
commands.add(commandRow); commands.add(commandRow);
} }

17
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.Emoji;
import org.telegram.services.LocalisationService; import org.telegram.services.LocalisationService;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.SendDocument; import org.telegram.telegrambots.api.methods.send.SendDocument;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Message; 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.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 org.telegram.telegrambots.bots.TelegramLongPollingBot;
import java.io.InvalidObjectException; import java.io.InvalidObjectException;
@ -144,9 +145,9 @@ public class FilesHandlers extends TelegramLongPollingBot {
HashMap<String, String> files = DatabaseManager.getInstance().getFilesByUser(message.getFrom().getId()); HashMap<String, String> files = DatabaseManager.getInstance().getFilesByUser(message.getFrom().getId());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
if (files.size() > 0) { if (files.size() > 0) {
List<List<String>> commands = new ArrayList<>(); List<KeyboardRow> commands = new ArrayList<>();
for (Map.Entry<String, String> entry : files.entrySet()) { for (Map.Entry<String, String> entry : files.entrySet()) {
List<String> commandRow = new ArrayList<>(); KeyboardRow commandRow = new KeyboardRow();
commandRow.add(Commands.deleteCommand + " " + entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString() commandRow.add(Commands.deleteCommand + " " + entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString()
+ " " + entry.getValue()); + " " + entry.getValue());
commands.add(commandRow); commands.add(commandRow);
@ -244,9 +245,9 @@ public class FilesHandlers extends TelegramLongPollingBot {
sendMessageRequest.setChatId(message.getChatId().toString()); sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup(); ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages(); HashMap<String, String> languages = LocalisationService.getInstance().getSupportedLanguages();
List<List<String>> commands = new ArrayList<>(); List<KeyboardRow> commands = new ArrayList<>();
for (Map.Entry<String, String> entry : languages.entrySet()) { for (Map.Entry<String, String> entry : languages.entrySet()) {
List<String> commandRow = new ArrayList<>(); KeyboardRow commandRow = new KeyboardRow();
commandRow.add(entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString() + " " + entry.getValue()); commandRow.add(entry.getKey() + " " + Emoji.LEFT_RIGHT_ARROW.toString() + " " + entry.getValue());
commands.add(commandRow); commands.add(commandRow);
} }

21
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.services.RaeService;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.AnswerInlineQuery; import org.telegram.telegrambots.api.methods.AnswerInlineQuery;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.*; 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 org.telegram.telegrambots.bots.TelegramLongPollingBot;
import java.util.ArrayList; import java.util.ArrayList;
@ -64,9 +69,9 @@ public class RaeHandlers extends TelegramLongPollingBot {
try { try {
if (!query.isEmpty()) { if (!query.isEmpty()) {
List<RaeService.RaeResult> results = raeService.getResults(query); List<RaeService.RaeResult> results = raeService.getResults(query);
sendAnswerInlineQuery(converteResultsToResponse(inlineQuery, results)); answerInlineQuery(converteResultsToResponse(inlineQuery, results));
} else { } else {
sendAnswerInlineQuery(converteResultsToResponse(inlineQuery, new ArrayList<>())); answerInlineQuery(converteResultsToResponse(inlineQuery, new ArrayList<>()));
} }
} catch (TelegramApiException e) { } catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e); BotLogger.error(LOGTAG, e);
@ -97,11 +102,13 @@ public class RaeHandlers extends TelegramLongPollingBot {
for (int i = 0; i < raeResults.size(); i++) { for (int i = 0; i < raeResults.size(); i++) {
RaeService.RaeResult raeResult = raeResults.get(i); RaeService.RaeResult raeResult = raeResults.get(i);
InputTextMessageContent messageContent = new InputTextMessageContent();
messageContent.disableWebPagePreview();
messageContent.enableMarkdown(true);
messageContent.setMessageText(raeResult.getDefinition());
InlineQueryResultArticle article = new InlineQueryResultArticle(); InlineQueryResultArticle article = new InlineQueryResultArticle();
article.setDisableWebPagePreview(true); article.setInputMessageContent(messageContent);
article.enableMarkdown(true);
article.setId(Integer.toString(i)); article.setId(Integer.toString(i));
article.setMessageText(raeResult.getDefinition());
article.setTitle(raeResult.getTitle()); article.setTitle(raeResult.getTitle());
article.setDescription(raeResult.getDescription()); article.setDescription(raeResult.getDescription());
article.setThumbUrl(THUMBNAILBLUE); article.setThumbUrl(THUMBNAILBLUE);

4
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.LocalisationService;
import org.telegram.services.TransifexService; import org.telegram.services.TransifexService;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.SendDocument; import org.telegram.telegrambots.api.methods.send.SendDocument;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Message; import org.telegram.telegrambots.api.objects.Message;
import org.telegram.telegrambots.api.objects.Update; import org.telegram.telegrambots.api.objects.Update;
import org.telegram.telegrambots.bots.TelegramLongPollingBot; import org.telegram.telegrambots.bots.TelegramLongPollingBot;

65
src/main/java/org/telegram/updateshandlers/WeatherHandlers.java

@ -3,11 +3,22 @@ package org.telegram.updateshandlers;
import org.telegram.BotConfig; import org.telegram.BotConfig;
import org.telegram.Commands; import org.telegram.Commands;
import org.telegram.database.DatabaseManager; 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.structure.WeatherAlert;
import org.telegram.telegrambots.TelegramApiException; import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.*; 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 org.telegram.telegrambots.bots.TelegramLongPollingBot;
import java.util.ArrayList; import java.util.ArrayList;
@ -899,11 +910,11 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(false); replyKeyboardMarkup.setOneTimeKeyboad(false);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
List<String> keyboardFirstRow = new ArrayList<>(); KeyboardRow keyboardFirstRow = new KeyboardRow();
keyboardFirstRow.add(getCurrentCommand(language)); keyboardFirstRow.add(getCurrentCommand(language));
keyboardFirstRow.add(getForecastCommand(language)); keyboardFirstRow.add(getForecastCommand(language));
List<String> keyboardSecondRow = new ArrayList<>(); KeyboardRow keyboardSecondRow = new KeyboardRow();
keyboardSecondRow.add(getSettingsCommand(language)); keyboardSecondRow.add(getSettingsCommand(language));
keyboardSecondRow.add(getRateCommand(language)); keyboardSecondRow.add(getRateCommand(language));
keyboard.add(keyboardFirstRow); keyboard.add(keyboardFirstRow);
@ -919,14 +930,14 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(false); replyKeyboardMarkup.setOneTimeKeyboad(false);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
for (String languageName : LocalisationService.getInstance().getSupportedLanguages().values()) { for (String languageName : LocalisationService.getInstance().getSupportedLanguages().values()) {
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(languageName); row.add(languageName);
keyboard.add(row); keyboard.add(row);
} }
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(getCancelCommand(language)); row.add(getCancelCommand(language));
keyboard.add(row); keyboard.add(row);
replyKeyboardMarkup.setKeyboard(keyboard); replyKeyboardMarkup.setKeyboard(keyboard);
@ -940,14 +951,14 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(false); replyKeyboardMarkup.setOneTimeKeyboad(false);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(LocalisationService.getInstance().getString("metricSystem", language)); row.add(LocalisationService.getInstance().getString("metricSystem", language));
keyboard.add(row); keyboard.add(row);
row = new ArrayList<>(); row = new KeyboardRow();
row.add(LocalisationService.getInstance().getString("imperialSystem", language)); row.add(LocalisationService.getInstance().getString("imperialSystem", language));
keyboard.add(row); keyboard.add(row);
row = new ArrayList<>(); row = new KeyboardRow();
row.add(getCancelCommand(language)); row.add(getCancelCommand(language));
keyboard.add(row); keyboard.add(row);
replyKeyboardMarkup.setKeyboard(keyboard); replyKeyboardMarkup.setKeyboard(keyboard);
@ -961,11 +972,11 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(false); replyKeyboardMarkup.setOneTimeKeyboad(false);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
List<String> keyboardFirstRow = new ArrayList<>(); KeyboardRow keyboardFirstRow = new KeyboardRow();
keyboardFirstRow.add(getLanguagesCommand(language)); keyboardFirstRow.add(getLanguagesCommand(language));
keyboardFirstRow.add(getUnitsCommand(language)); keyboardFirstRow.add(getUnitsCommand(language));
List<String> keyboardSecondRow = new ArrayList<>(); KeyboardRow keyboardSecondRow = new KeyboardRow();
keyboardSecondRow.add(getAlertsCommand(language)); keyboardSecondRow.add(getAlertsCommand(language));
keyboardSecondRow.add(getBackCommand(language)); keyboardSecondRow.add(getBackCommand(language));
keyboard.add(keyboardFirstRow); keyboard.add(keyboardFirstRow);
@ -985,23 +996,23 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(true); replyKeyboardMarkup.setOneTimeKeyboad(true);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
for (String recentWeather : DatabaseManager.getInstance().getRecentWeather(userId)) { for (String recentWeather : DatabaseManager.getInstance().getRecentWeather(userId)) {
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(recentWeather); row.add(recentWeather);
keyboard.add(row); keyboard.add(row);
} }
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
if (allowNew) { if (allowNew) {
row.add(getLocationCommand(language)); row.add(getLocationCommand(language));
keyboard.add(row); keyboard.add(row);
row = new ArrayList<>(); row = new KeyboardRow();
row.add(getNewCommand(language)); row.add(getNewCommand(language));
keyboard.add(row); keyboard.add(row);
row = new ArrayList<>(); row = new KeyboardRow();
} }
row.add(getCancelCommand(language)); row.add(getCancelCommand(language));
keyboard.add(row); keyboard.add(row);
@ -1017,14 +1028,14 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(true); replyKeyboardMarkup.setOneTimeKeyboad(true);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(getNewCommand(language)); row.add(getNewCommand(language));
row.add(getDeleteCommand(language)); row.add(getDeleteCommand(language));
keyboard.add(row); keyboard.add(row);
row = new ArrayList<>(); row = new KeyboardRow();
row.add(getListCommand(language)); row.add(getListCommand(language));
row.add(getBackCommand(language)); row.add(getBackCommand(language));
keyboard.add(row); keyboard.add(row);
@ -1044,13 +1055,13 @@ public class WeatherHandlers extends TelegramLongPollingBot {
replyKeyboardMarkup.setResizeKeyboard(true); replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboad(true); replyKeyboardMarkup.setOneTimeKeyboad(true);
List<List<String>> keyboard = new ArrayList<>(); List<KeyboardRow> keyboard = new ArrayList<>();
for (String alertCityName: alertCitiesNames) { for (String alertCityName: alertCitiesNames) {
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(alertCityName); row.add(alertCityName);
keyboard.add(row); keyboard.add(row);
} }
List<String> row = new ArrayList<>(); KeyboardRow row = new KeyboardRow();
row.add(getCancelCommand(language)); row.add(getCancelCommand(language));
keyboard.add(row); keyboard.add(row);

Loading…
Cancel
Save