Browse Source

1. Option to remove de keyboard

master
Rubenlagu 11 years ago
committed by Rubenlagus
parent
commit
7c10bd5a24
  1. 2
      src/main/java/org/telegram/Commands.java
  2. 3
      src/main/java/org/telegram/services/Emoji.java
  3. 31
      src/main/java/org/telegram/updateshandlers/WeatherHandlers.java

2
src/main/java/org/telegram/Commands.java

@ -38,4 +38,6 @@ public class Commands {
public static final String startDirectionCommand = commandInitChar + "directions"; public static final String startDirectionCommand = commandInitChar + "directions";
/// Set Language command /// Set Language command
public static final String setLanguageCommand = commandInitChar + "language"; public static final String setLanguageCommand = commandInitChar + "language";
public static final String STOPCOMMAND = commandInitChar + "stop";
} }

3
src/main/java/org/telegram/services/Emoji.java

@ -162,7 +162,8 @@ public enum Emoji {
TEAR_OFF_CALENDAR('\uD83D', '\uDCC6'), TEAR_OFF_CALENDAR('\uD83D', '\uDCC6'),
LARGE_ORANGE_DIAMOND('\uD83D', '\uDD36'), LARGE_ORANGE_DIAMOND('\uD83D', '\uDD36'),
HUNDRED_POINTS_SYMBOL('\uD83D', '\uDCAF'), HUNDRED_POINTS_SYMBOL('\uD83D', '\uDCAF'),
ROUND_PUSHPIN('\uD83D', '\uDCCD'); ROUND_PUSHPIN('\uD83D', '\uDCCD'),
WAVING_HAND_SIGN('\uD83D', '\uDC4B');
Character firstChar; Character firstChar;
Character secondChar; Character secondChar;

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

@ -2,6 +2,7 @@ package org.telegram.updateshandlers;
import org.telegram.BotConfig; import org.telegram.BotConfig;
import org.telegram.BuildVars; import org.telegram.BuildVars;
import org.telegram.Commands;
import org.telegram.SenderHelper; import org.telegram.SenderHelper;
import org.telegram.api.*; import org.telegram.api.*;
import org.telegram.database.DatabaseManager; import org.telegram.database.DatabaseManager;
@ -23,6 +24,7 @@ import java.util.List;
*/ */
public class WeatherHandlers implements UpdatesCallback { public class WeatherHandlers implements UpdatesCallback {
private static final String TOKEN = BotConfig.TOKENWEATHER; private static final String TOKEN = BotConfig.TOKENWEATHER;
private static final int STARTSTATE = 0;
private static final int MAINMENU = 1; private static final int MAINMENU = 1;
private static final int CURRENTWEATHER = 2; private static final int CURRENTWEATHER = 2;
private static final int CURRENTNEWWEATHER = 3; private static final int CURRENTNEWWEATHER = 3;
@ -104,8 +106,13 @@ public class WeatherHandlers implements UpdatesCallback {
private static void handleIncomingMessage(Message message) { private static void handleIncomingMessage(Message message) {
final int state = DatabaseManager.getInstance().getWeatherState(message.getFrom().getId(), message.getChatId()); final int state = DatabaseManager.getInstance().getWeatherState(message.getFrom().getId(), message.getChatId());
final String language = DatabaseManager.getInstance().getUserWeatherOptions(message.getFrom().getId())[0]; final String language = DatabaseManager.getInstance().getUserWeatherOptions(message.getFrom().getId())[0];
if (message.isGroupMessage() && message.hasText() && isCommandForOther(message.getText())) { if (message.isGroupMessage() && message.hasText()) {
return; if (isCommandForOther(message.getText())) {
return;
} else if (message.getText().startsWith(Commands.STOPCOMMAND)){
sendHideKeyboard(message.getFrom().getId(), message.getChatId(), message.getMessageId());
return;
}
} }
switch(state) { switch(state) {
case MAINMENU: case MAINMENU:
@ -141,9 +148,25 @@ public class WeatherHandlers implements UpdatesCallback {
} }
} }
private static void sendHideKeyboard(Integer userId, Integer chatId, Integer messageId) {
SendMessage sendMessage = new SendMessage();
sendMessage.setChatId(chatId);
sendMessage.setReplayToMessageId(messageId);
sendMessage.setText(Emoji.WAVING_HAND_SIGN.toString());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setSelective(true);
replyKeyboardHide.setHideKeyboard(true);
sendMessage.setReplayMarkup(replyKeyboardHide);
SenderHelper.SendMessage(sendMessage, TOKEN);
DatabaseManager.getInstance().insertWeatherState(userId, chatId, STARTSTATE);
}
private static boolean isCommandForOther(String text) { private static boolean isCommandForOther(String text) {
boolean isSimpleCommand = text.equals("/start") || text.equals("/help"); boolean isSimpleCommand = text.equals("/start") || text.equals("/help") || text.equals("/stop");
boolean isCommandForMe = text.equals("/start@weatherbot") || text.equals("/help@weatherbot"); boolean isCommandForMe = text.equals("/start@weatherbot") || text.equals("/help@weatherbot") || text.equals("/stop@weatherbot");
return text.startsWith("/") && !isSimpleCommand && !isCommandForMe; return text.startsWith("/") && !isSimpleCommand && !isCommandForMe;
} }

Loading…
Cancel
Save