diff --git a/src/main/java/org/telegram/telegrambots/api/commands/HelpCommand.java b/src/main/java/org/telegram/telegrambots/api/commands/HelpCommand.java new file mode 100644 index 00000000..39b3d786 --- /dev/null +++ b/src/main/java/org/telegram/telegrambots/api/commands/HelpCommand.java @@ -0,0 +1,37 @@ +package org.telegram.telegrambots.api.commands; + +import org.telegram.telegrambots.BotLogger; +import org.telegram.telegrambots.TelegramApiException; +import org.telegram.telegrambots.api.methods.send.SendMessage; + +/** + * standard help command, which gets registered by default, to supply a list of all available commands + * + * @author tschulz + */ +public class HelpCommand extends Command { + + private static final String LOGTAG = "HELPCOMMAND"; + private final ICommandRegistery commandRegistry; + + public HelpCommand(ICommandRegistery commandRegistry, String botToken) { + super("help", "Gives an overview over all Commands registered for this bot", botToken); + this.commandRegistry = commandRegistry; + } + + @Override + void execute(String[] arguments, long chatId) { + for (Command registeredCommand : commandRegistry.getRegisteredCommands()) { + SendMessage sendMessage = new SendMessage(); + sendMessage.setChatId(chatId); + sendMessage.enableHtml(true); + sendMessage.setText("" + registeredCommand.getCommandIdentifier() + "\n" + registeredCommand.getDescription()); + + try { + sendMessage(sendMessage); + } catch (TelegramApiException e) { + BotLogger.error("Failed to send HelpMessage", LOGTAG, e); + } + } + } +}