You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
1.9 KiB

package org.telegram.commands;
import org.telegram.database.DatabaseManager;
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.exceptions.TelegramApiException;
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);
}
}
}