Browse Source

Added Command bot example (#27)

* remove IDE files from tracking

* teach git how to ignore IDE files

* remove .DS_Store files from tracking

* Update version

* bring code to new version

* Reorganize configuration entries and add command bot entries

* change config variable names

* update database stuff to contain data for commands bot

* implement hello command

* implement help command

* implement start command

* implement stop command

* register Commandshandler

* rename WebHookExampleHandlers

* rename webhook handler
master
Timo Schulz 10 years ago
committed by Ruben Bermudez
parent
commit
25392ed1e9
  1. 13
      .idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_3_3_2.xml
  2. 2
      pom.xml
  3. 37
      src/main/java/org/telegram/BotConfig.java
  4. 9
      src/main/java/org/telegram/Main.java
  5. 55
      src/main/java/org/telegram/commands/HelloCommand.java
  6. 54
      src/main/java/org/telegram/commands/HelpCommand.java
  7. 51
      src/main/java/org/telegram/commands/StartCommand.java
  8. 48
      src/main/java/org/telegram/commands/StopCommand.java
  9. 4
      src/main/java/org/telegram/database/CreationStrings.java
  10. 40
      src/main/java/org/telegram/database/DatabaseManager.java
  11. 5
      src/main/java/org/telegram/updateshandlers/ChannelHandlers.java
  12. 82
      src/main/java/org/telegram/updateshandlers/CommandsHandler.java
  13. 5
      src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java
  14. 6
      src/main/java/org/telegram/updateshandlers/FilesHandlers.java
  15. 4
      src/main/java/org/telegram/updateshandlers/RaeHandlers.java
  16. 4
      src/main/java/org/telegram/updateshandlers/TransifexHandlers.java
  17. 12
      src/main/java/org/telegram/updateshandlers/WeatherHandlers.java
  18. 6
      src/main/java/org/telegram/updateshandlers/WebHookExampleHandlers.java

13
.idea/libraries/Maven__com_github_rubenlagus_TelegramBots_v2_3_3_2.xml

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

2
pom.xml

@ -25,7 +25,7 @@
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<httpcompontents.version>4.5.2</httpcompontents.version> <httpcompontents.version>4.5.2</httpcompontents.version>
<telegrambots.version>v2.3.3.2</telegrambots.version> <telegrambots.version>v2.3.3.3</telegrambots.version>
<json.version>20160212</json.version> <json.version>20160212</json.version>
<mysql.version>5.1.39</mysql.version> <mysql.version>5.1.39</mysql.version>
</properties> </properties>

37
src/main/java/org/telegram/BotConfig.java

@ -7,18 +7,27 @@ package org.telegram;
* @date 20 of June of 2015 * @date 20 of June of 2015
*/ */
public class BotConfig { public class BotConfig {
public static final String TOKENWEATHER = "<token>"; public static final String WEATHER_TOKEN = "<token>";
public static final String USERNAMEWEATHER = "weatherbot"; public static final String WEATHER_USER = "weatherbot";
public static final String TOKENTRANSIFEX = "<token>";
public static final String USERNAMETRANSIFEX = "TGlanguagesbot"; public static final String TRANSIFEX_TOKEN = "<token>";
public static final String TOKENFILES = "<token>"; public static final String TRANSIFEX_USER = "TGlanguagesbot";
public static final String USERNAMEFILES = "filesbot";
public static final String TOKENDIRECTIONS = "<token>"; public static final String FILES_TOKEN = "<token>";
public static final String USERNAMEDIRECTIONS = "directionsbot"; public static final String FILES_USER = "filesbot";
public static final String TOKENCHANNEL = "<token>";
public static final String USERNAMECHANNEL = "channelupdatesbot"; public static final String DIRECTIONS_TOKEN = "<token>";
public static final String TOKENRAE = "<token>"; public static final String DIRECTIONS_USER = "directionsbot";
public static final String USERNAMERAE = "raebot";
public static final String TOKENWEBHOOK = "<token>"; public static final String CHANNEL_TOKEN = "<token>";
public static final String USERNAMEWEBHOOK = "webhooksamplebot"; public static final String CHANNEL_USER = "channelupdatesbot";
public static final String RAE_TOKEN = "<token>";
public static final String RAE_USER = "raebot";
public static final String WEBHOOK_TOKEN = "<token>";
public static final String WEBHOOK_USER = "webhooksamplebot";
public static final String COMMANDS_TOKEN = "<token>";
public static final String COMMANDS_USER = "MyCommandsBot";
} }

9
src/main/java/org/telegram/Main.java

@ -4,13 +4,7 @@ import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.TelegramBotsApi; import org.telegram.telegrambots.TelegramBotsApi;
import org.telegram.telegrambots.logging.BotLogger; import org.telegram.telegrambots.logging.BotLogger;
import org.telegram.telegrambots.logging.BotsFileHandler; import org.telegram.telegrambots.logging.BotsFileHandler;
import org.telegram.updateshandlers.ChannelHandlers; import org.telegram.updateshandlers.*;
import org.telegram.updateshandlers.DirectionsHandlers;
import org.telegram.updateshandlers.FilesHandlers;
import org.telegram.updateshandlers.RaeHandlers;
import org.telegram.updateshandlers.TransifexHandlers;
import org.telegram.updateshandlers.WeatherHandlers;
import org.telegram.updateshandlers.WebHookExampleHandlers;
import java.io.IOException; import java.io.IOException;
import java.util.logging.ConsoleHandler; import java.util.logging.ConsoleHandler;
@ -44,6 +38,7 @@ public class Main {
telegramBotsApi.registerBot(new WeatherHandlers()); telegramBotsApi.registerBot(new WeatherHandlers());
telegramBotsApi.registerBot(new TransifexHandlers()); telegramBotsApi.registerBot(new TransifexHandlers());
telegramBotsApi.registerBot(new FilesHandlers()); telegramBotsApi.registerBot(new FilesHandlers());
telegramBotsApi.registerBot(new CommandsHandler());
} catch (TelegramApiException e) { } catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e); BotLogger.error(LOGTAG, e);
} }

55
src/main/java/org/telegram/commands/HelloCommand.java

@ -0,0 +1,55 @@
package org.telegram.commands;
import org.telegram.database.DatabaseManager;
import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Chat;
import org.telegram.telegrambots.api.objects.User;
import org.telegram.telegrambots.bots.AbsSender;
import org.telegram.telegrambots.bots.commands.BotCommand;
import org.telegram.telegrambots.logging.BotLogger;
/**
* This command simply replies with a hello to the users command and
* sends them the 'kind' words back, which they send via command parameters
*
* @author Timo Schulz (Mit0x2)
*/
public class HelloCommand extends BotCommand {
private static final String LOGTAG = "HELLOCOMMAND";
public HelloCommand() {
super("hello", "Say hallo to this bot");
}
@Override
public void execute(AbsSender absSender, User user, Chat chat, String[] arguments) {
if (!DatabaseManager.getInstance().getUserStateForCommandsBot(user.getId())) {
return;
}
String userName = chat.getUserName();
if (userName == null || userName.isEmpty()) {
userName = user.getFirstName() + " " + user.getLastName();
}
StringBuilder messageTextBuilder = new StringBuilder("Hello ").append(userName);
if (arguments != null && arguments.length > 0) {
messageTextBuilder.append("\n");
messageTextBuilder.append("Thank you so much for your kind words:\n");
messageTextBuilder.append(String.join(" ", arguments));
}
SendMessage answer = new SendMessage();
answer.setChatId(chat.getId().toString());
answer.setText(messageTextBuilder.toString());
try {
absSender.sendMessage(answer);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
}
}

54
src/main/java/org/telegram/commands/HelpCommand.java

@ -0,0 +1,54 @@
package org.telegram.commands;
import org.telegram.database.DatabaseManager;
import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Chat;
import org.telegram.telegrambots.api.objects.User;
import org.telegram.telegrambots.bots.AbsSender;
import org.telegram.telegrambots.bots.commands.BotCommand;
import org.telegram.telegrambots.bots.commands.ICommandRegistry;
import org.telegram.telegrambots.logging.BotLogger;
/**
* This command helps the user to find the command they need
*
* @author Timo Schulz (Mit0x2)
*/
public class HelpCommand extends BotCommand {
private static final String LOGTAG = "HELPCOMMAND";
private final ICommandRegistry commandRegistry;
public HelpCommand(ICommandRegistry commandRegistry) {
super("help", "Get all the commands this bot provides");
this.commandRegistry = commandRegistry;
}
@Override
public void execute(AbsSender absSender, User user, Chat chat, String[] strings) {
if (!DatabaseManager.getInstance().getUserStateForCommandsBot(user.getId())) {
return;
}
StringBuilder helpMessageBuilder = new StringBuilder("<b>Help</b>\n");
helpMessageBuilder.append("These are the registered commands for this Bot:\n\n");
for (BotCommand botCommand : commandRegistry.getRegisteredCommands()) {
helpMessageBuilder.append(botCommand.toString()).append("\n\n");
}
SendMessage helpMessage = new SendMessage();
helpMessage.setChatId(chat.getId().toString());
helpMessage.enableHtml(true);
helpMessage.setText(helpMessageBuilder.toString());
try {
absSender.sendMessage(helpMessage);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
}
}

51
src/main/java/org/telegram/commands/StartCommand.java

@ -0,0 +1,51 @@
package org.telegram.commands;
import org.telegram.database.DatabaseManager;
import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Chat;
import org.telegram.telegrambots.api.objects.User;
import org.telegram.telegrambots.bots.AbsSender;
import org.telegram.telegrambots.bots.commands.BotCommand;
import org.telegram.telegrambots.logging.BotLogger;
/**
* This commands starts the conversation with the bot
*
* @author Timo Schulz (Mit0x2)
*/
public class StartCommand extends BotCommand {
public static final String LOGTAG = "STARTCOMMAND";
public StartCommand() {
super("start", "With this command you can start the Bot");
}
@Override
public void execute(AbsSender absSender, User user, Chat chat, String[] strings) {
DatabaseManager databseManager = DatabaseManager.getInstance();
StringBuilder messageBuilder = new StringBuilder();
String userName = user.getFirstName() + " " + user.getLastName();
if (databseManager.getUserStateForCommandsBot(user.getId())) {
messageBuilder.append("Hi ").append(userName).append("\n");
messageBuilder.append("i think we know each other already!");
} else {
databseManager.setUserStateForCommandsBot(user.getId(), true);
messageBuilder.append("Welcome ").append(userName).append("\n");
messageBuilder.append("this bot will demonstrate you the command feature of the Java TelegramBots API!");
}
SendMessage answer = new SendMessage();
answer.setChatId(chat.getId().toString());
answer.setText(messageBuilder.toString());
try {
absSender.sendMessage(answer);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
}
}

48
src/main/java/org/telegram/commands/StopCommand.java

@ -0,0 +1,48 @@
package org.telegram.commands;
import org.telegram.database.DatabaseManager;
import org.telegram.telegrambots.TelegramApiException;
import org.telegram.telegrambots.api.methods.send.SendMessage;
import org.telegram.telegrambots.api.objects.Chat;
import org.telegram.telegrambots.api.objects.User;
import org.telegram.telegrambots.bots.AbsSender;
import org.telegram.telegrambots.bots.commands.BotCommand;
import org.telegram.telegrambots.logging.BotLogger;
/**
* This commands stops the conversation with the bot.
* Bot won't respond to user until he sends a start command
*
* @author Timo Schulz (Mit0x2)
*/
public class StopCommand extends BotCommand {
public static final String LOGTAG = "STOPCOMMAND";
/**
* Construct
*/
public StopCommand() {
super("stop", "With this command you can stop the Bot");
}
@Override
public void execute(AbsSender absSender, User user, Chat chat, String[] arguments) {
DatabaseManager dbManager = DatabaseManager.getInstance();
if (dbManager.getUserStateForCommandsBot(user.getId())) {
dbManager.setUserStateForCommandsBot(user.getId(), false);
String userName = user.getFirstName() + " " + user.getLastName();
SendMessage answer = new SendMessage();
answer.setChatId(chat.getId().toString());
answer.setText("Good bye " + userName + "\n" + "Hope to see you soon!");
try {
absSender.sendMessage(answer);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
}
}
}

4
src/main/java/org/telegram/database/CreationStrings.java

@ -7,7 +7,7 @@ package org.telegram.database;
* @date 15 of May of 2015 * @date 15 of May of 2015
*/ */
public class CreationStrings { public class CreationStrings {
public static final int version = 7; public static final int version = 8;
public static final String createVersionTable = "CREATE TABLE IF NOT EXISTS Versions(ID INTEGER PRIMARY KEY AUTO_INCREMENT, Version INTEGER);"; public static final String createVersionTable = "CREATE TABLE IF NOT EXISTS Versions(ID INTEGER PRIMARY KEY AUTO_INCREMENT, Version INTEGER);";
public static final String insertCurrentVersion = "INSERT IGNORE INTO Versions (Version) VALUES(%d);"; public static final String insertCurrentVersion = "INSERT IGNORE INTO Versions (Version) VALUES(%d);";
public static final String createFilesTable = "CREATE TABLE IF NOT EXISTS Files (fileId VARCHAR(100) PRIMARY KEY, userId INTEGER NOT NULL, caption TEXT NOT NULL)"; public static final String createFilesTable = "CREATE TABLE IF NOT EXISTS Files (fileId VARCHAR(100) PRIMARY KEY, userId INTEGER NOT NULL, caption TEXT NOT NULL)";
@ -27,4 +27,6 @@ public class CreationStrings {
public static final String createWeatherAlertTable = "CREATE TABLE IF NOT EXISTS WeatherAlert (id INTEGER PRIMARY KEY AUTO_INCREMENT, userId INTEGER NOT NULL, cityId INTEGER NOT NULL, " + public static final String createWeatherAlertTable = "CREATE TABLE IF NOT EXISTS WeatherAlert (id INTEGER PRIMARY KEY AUTO_INCREMENT, userId INTEGER NOT NULL, cityId INTEGER NOT NULL, " +
"cityName VARCHAR(60) NOT NULL, time INTEGER NOT NULL DEFAULT -1, CONSTRAINT unique_cityNameAlert UNIQUE (userId, cityName)," + "cityName VARCHAR(60) NOT NULL, time INTEGER NOT NULL DEFAULT -1, CONSTRAINT unique_cityNameAlert UNIQUE (userId, cityName)," +
"CONSTRAINT unique_cityIdAlert UNIQUE (userId, cityId));"; "CONSTRAINT unique_cityIdAlert UNIQUE (userId, cityId));";
public static final String CREATE_COMMANDS_TABLE = "CREATE TABLE IF NOT EXISTS CommandUsers (userId INTEGER PRIMARY KEY, status INTEGER NOT NULL);";
} }

40
src/main/java/org/telegram/database/DatabaseManager.java

@ -89,6 +89,9 @@ public class DatabaseManager {
if (currentVersion == 6) { if (currentVersion == 6) {
currentVersion = updateToVersion7(); currentVersion = updateToVersion7();
} }
if (currentVersion == 7) {
currentVersion = updateToVersion8();
}
connetion.commitTransaction(); connetion.commitTransaction();
} catch (SQLException e) { } catch (SQLException e) {
BotLogger.error(LOGTAG, e); BotLogger.error(LOGTAG, e);
@ -133,6 +136,12 @@ public class DatabaseManager {
return 7; return 7;
} }
private int updateToVersion8() throws SQLException {
connetion.executeQuery(CreationStrings.CREATE_COMMANDS_TABLE);
connetion.executeQuery(String.format(CreationStrings.insertCurrentVersion, 8));
return 8;
}
private int createNewTables() throws SQLException { private int createNewTables() throws SQLException {
connetion.executeQuery(CreationStrings.createVersionTable); connetion.executeQuery(CreationStrings.createVersionTable);
connetion.executeQuery(CreationStrings.createFilesTable); connetion.executeQuery(CreationStrings.createFilesTable);
@ -144,9 +153,40 @@ public class DatabaseManager {
connetion.executeQuery(CreationStrings.createWeatherStateTable); connetion.executeQuery(CreationStrings.createWeatherStateTable);
connetion.executeQuery(CreationStrings.createUserWeatherOptionDatabase); connetion.executeQuery(CreationStrings.createUserWeatherOptionDatabase);
connetion.executeQuery(CreationStrings.createWeatherAlertTable); connetion.executeQuery(CreationStrings.createWeatherAlertTable);
connetion.executeQuery(CreationStrings.CREATE_COMMANDS_TABLE);
return CreationStrings.version; return CreationStrings.version;
} }
public boolean setUserStateForCommandsBot(Integer userId, boolean active) {
int updatedRows = 0;
try {
final PreparedStatement preparedStatement = connetion.getPreparedStatement("INSERT INTO CommandUsers (userId, status) VALUES(?, ?) ON DUPLICATE KEY UPDATE status=?");
preparedStatement.setInt(1, userId);
preparedStatement.setInt(2, active ? 1 : 0);
preparedStatement.setInt(3, active ? 1 : 0);
updatedRows = preparedStatement.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
return updatedRows > 0;
}
public boolean getUserStateForCommandsBot(Integer userId) {
int status = -1;
try {
final PreparedStatement preparedStatement = connetion.getPreparedStatement("Select status FROM CommandUsers WHERE userId=?");
preparedStatement.setInt(1, userId);
final ResultSet result = preparedStatement.executeQuery();
if (result.next()) {
status = result.getInt("status");
}
} catch (SQLException e) {
e.printStackTrace();
}
return status == 1;
}
public boolean addFile(String fileId, Integer userId, String caption) { public boolean addFile(String fileId, Integer userId, String caption) {
int updatedRows = 0; int updatedRows = 0;
try { try {

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

@ -52,13 +52,13 @@ public class ChannelHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENCHANNEL; return BotConfig.CHANNEL_TOKEN;
} }
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMECHANNEL; return BotConfig.CHANNEL_USER;
} }
@ -135,7 +135,6 @@ public class ChannelHandlers extends TelegramLongPollingBot {
ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard(); ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard();
forceReplyKeyboard.setSelective(true); forceReplyKeyboard.setSelective(true);
forceReplyKeyboard.setForceReply(true);
sendMessage.setReplayMarkup(forceReplyKeyboard); sendMessage.setReplayMarkup(forceReplyKeyboard);
sendMessage.setText(WRONG_CHANNEL_TEXT); sendMessage.setText(WRONG_CHANNEL_TEXT);

82
src/main/java/org/telegram/updateshandlers/CommandsHandler.java

@ -0,0 +1,82 @@
package org.telegram.updateshandlers;
import org.telegram.BotConfig;
import org.telegram.commands.HelloCommand;
import org.telegram.commands.HelpCommand;
import org.telegram.commands.StartCommand;
import org.telegram.commands.StopCommand;
import org.telegram.database.DatabaseManager;
import org.telegram.services.Emoji;
import org.telegram.telegrambots.TelegramApiException;
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.TelegramLongPollingCommandBot;
import org.telegram.telegrambots.logging.BotLogger;
/**
* This handler mainly works with commands to demonstrate the Commands feature of the API
*
* @author Timo Schulz (Mit0x2)
*/
public class CommandsHandler extends TelegramLongPollingCommandBot {
public static final String LOGTAG = "COMMANDSHANDLER";
/**
* Constructor.
*/
public CommandsHandler() {
register(new HelloCommand());
register(new StartCommand());
register(new StopCommand());
HelpCommand helpCommand = new HelpCommand(this);
register(helpCommand);
registerDefaultAction((absSender, message) -> {
SendMessage commandUnknownMessage = new SendMessage();
commandUnknownMessage.setChatId(message.getChatId().toString());
commandUnknownMessage.setText("The command '" + message.getText() + "' is not known by this bot. Here comes some help " + Emoji.AMBULANCE);
try {
absSender.sendMessage(commandUnknownMessage);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
helpCommand.execute(absSender, message.getFrom(), message.getChat(), new String[] {});
});
}
@Override
public void processNonCommandUpdate(Update update) {
if (update.hasMessage()) {
Message message = update.getMessage();
if (!DatabaseManager.getInstance().getUserStateForCommandsBot(message.getFrom().getId())) {
return;
}
if (message.hasText()) {
SendMessage echoMessage = new SendMessage();
echoMessage.setChatId(message.getChatId().toString());
echoMessage.setText("Hey heres your message:\n" + message.getText());
try {
sendMessage(echoMessage);
} catch (TelegramApiException e) {
BotLogger.error(LOGTAG, e);
}
}
}
}
@Override
public String getBotUsername() {
return BotConfig.COMMANDS_USER;
}
@Override
public String getBotToken() {
return BotConfig.COMMANDS_TOKEN;
}
}

5
src/main/java/org/telegram/updateshandlers/DirectionsHandlers.java

@ -42,7 +42,7 @@ public class DirectionsHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENDIRECTIONS; return BotConfig.DIRECTIONS_TOKEN;
} }
@Override @Override
@ -56,7 +56,7 @@ public class DirectionsHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMEDIRECTIONS; return BotConfig.DIRECTIONS_USER;
} }
private void handleDirections(Update update) throws InvalidObjectException { private void handleDirections(Update update) throws InvalidObjectException {
@ -259,7 +259,6 @@ public class DirectionsHandlers extends TelegramLongPollingBot {
} }
sendMessageRequest.setReplayToMessageId(message.getMessageId()); sendMessageRequest.setReplayToMessageId(message.getMessageId());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide(); ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setHideKeyboard(true);
replyKeyboardHide.setSelective(true); replyKeyboardHide.setSelective(true);
sendMessageRequest.setReplayMarkup(replyKeyboardHide); sendMessageRequest.setReplayMarkup(replyKeyboardHide);
try { try {

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

@ -39,7 +39,7 @@ public class FilesHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENFILES; return BotConfig.FILES_TOKEN;
} }
@Override @Override
@ -63,7 +63,7 @@ public class FilesHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMEFILES; return BotConfig.FILES_USER;
} }
private void handleFileUpdate(Update update) throws InvalidObjectException, TelegramApiException { private void handleFileUpdate(Update update) throws InvalidObjectException, TelegramApiException {
@ -125,7 +125,6 @@ public class FilesHandlers extends TelegramLongPollingBot {
} }
sendMessageRequest.setChatId(message.getChatId().toString()); sendMessageRequest.setChatId(message.getChatId().toString());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide(); ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setHideKeyboard(true);
sendMessageRequest.setReplayMarkup(replyKeyboardHide); sendMessageRequest.setReplayMarkup(replyKeyboardHide);
sendMessage(sendMessageRequest); sendMessage(sendMessageRequest);
} }
@ -252,7 +251,6 @@ public class FilesHandlers extends TelegramLongPollingBot {
} }
sendMessageRequest.setReplayToMessageId(message.getMessageId()); sendMessageRequest.setReplayToMessageId(message.getMessageId());
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide(); ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setHideKeyboard(true);
replyKeyboardHide.setSelective(true); replyKeyboardHide.setSelective(true);
sendMessageRequest.setReplayMarkup(replyKeyboardHide); sendMessageRequest.setReplayMarkup(replyKeyboardHide);
sendMessage(sendMessageRequest); sendMessage(sendMessageRequest);

4
src/main/java/org/telegram/updateshandlers/RaeHandlers.java

@ -38,7 +38,7 @@ public class RaeHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENRAE; return BotConfig.RAE_TOKEN;
} }
@Override @Override
@ -60,7 +60,7 @@ public class RaeHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMERAE; return BotConfig.RAE_USER;
} }
/** /**

4
src/main/java/org/telegram/updateshandlers/TransifexHandlers.java

@ -26,7 +26,7 @@ public class TransifexHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENTRANSIFEX; return BotConfig.TRANSIFEX_TOKEN;
} }
@Override @Override
@ -40,7 +40,7 @@ public class TransifexHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMETRANSIFEX; return BotConfig.TRANSIFEX_USER;
} }
private void sendTransifexFile(Update update) throws InvalidObjectException { private void sendTransifexFile(Update update) throws InvalidObjectException {

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

@ -3,11 +3,7 @@ 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.CustomTimerTask; import org.telegram.services.*;
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.send.SendMessage; import org.telegram.telegrambots.api.methods.send.SendMessage;
@ -55,7 +51,7 @@ public class WeatherHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENWEATHER; return BotConfig.WEATHER_TOKEN;
} }
@Override @Override
@ -74,7 +70,7 @@ public class WeatherHandlers extends TelegramLongPollingBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMEWEATHER; return BotConfig.WEATHER_USER;
} }
private void startAlertTimers() { private void startAlertTimers() {
@ -195,7 +191,6 @@ public class WeatherHandlers extends TelegramLongPollingBot {
ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide(); ReplyKeyboardHide replyKeyboardHide = new ReplyKeyboardHide();
replyKeyboardHide.setSelective(true); replyKeyboardHide.setSelective(true);
replyKeyboardHide.setHideKeyboard(true);
sendMessage.setReplayMarkup(replyKeyboardHide); sendMessage.setReplayMarkup(replyKeyboardHide);
sendMessage(sendMessage); sendMessage(sendMessage);
@ -1073,7 +1068,6 @@ public class WeatherHandlers extends TelegramLongPollingBot {
private static ForceReplyKeyboard getForceReply() { private static ForceReplyKeyboard getForceReply() {
ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard(); ForceReplyKeyboard forceReplyKeyboard = new ForceReplyKeyboard();
forceReplyKeyboard.setForceReply(true);
forceReplyKeyboard.setSelective(true); forceReplyKeyboard.setSelective(true);
return forceReplyKeyboard; return forceReplyKeyboard;
} }

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

@ -26,16 +26,16 @@ public class WebHookExampleHandlers extends TelegramWebhookBot {
@Override @Override
public String getBotUsername() { public String getBotUsername() {
return BotConfig.USERNAMEWEBHOOK; return BotConfig.WEBHOOK_USER;
} }
@Override @Override
public String getBotToken() { public String getBotToken() {
return BotConfig.TOKENWEBHOOK; return BotConfig.WEBHOOK_TOKEN;
} }
@Override @Override
public String getBotPath() { public String getBotPath() {
return BotConfig.USERNAMEWEBHOOK; //arbitrary path to deliver updates on, username is an example. return BotConfig.WEBHOOK_USER; //arbitrary path to deliver updates on, username is an example.
} }
} }

Loading…
Cancel
Save