@@ -0,0 +1,2228 @@
+package org.telegram.telegrambots.api.commands;%0A%0Aimport org.telegram.telegrambots.bots.AbsSender;%0A%0A/**%0A * Representation of a command, which can be executed%0A *%0A * @author tschulz%0A */%0Apublic abstract class Command extends AbsSender %7B%0A%0A    public final static String COMMAND_INIT_CHARACTER = %22/%22;%0A    public final static String COMMAND_PARAMETER_SEPERATOR = %22 %22;%0A    private final static int COMMAND_MAX_LENGTH = 32;%0A%0A    private final String commandIdentifier;%0A    private final String description;%0A    private final String botToken;%0A%0A    /**%0A     * construct a command%0A     *%0A     * @param commandIdentifier the unique identifier of this command (e.g. the command string to enter into chat)%0A     * @param description       the description of this command%0A     */%0A    public Command(String commandIdentifier, String description, String botToken) %7B%0A%0A        if (commandIdentifier == null %7C%7C commandIdentifier.isEmpty()) %7B%0A            throw new IllegalArgumentException(%22commandIdentifier for command cannot be null or empty%22);%0A        %7D%0A%0A        if (commandIdentifier.startsWith(COMMAND_INIT_CHARACTER)) %7B%0A            commandIdentifier = commandIdentifier.substring(1);%0A        %7D%0A%0A        if (commandIdentifier.length() + 1 %3E COMMAND_MAX_LENGTH) %7B%0A            throw new IllegalArgumentException(%22commandIdentifier cannot be longer than %22 + COMMAND_MAX_LENGTH + %22 (including %22 + COMMAND_INIT_CHARACTER + %22)%22);%0A        %7D%0A%0A        this.commandIdentifier = commandIdentifier.toLowerCase();%0A        this.description = description;%0A        this.botToken = botToken;%0A    %7D%0A%0A    /**%0A     * get the identifier of this command%0A     *%0A     * @return the identifier%0A     */%0A    public final String getCommandIdentifier() %7B%0A        return commandIdentifier;%0A    %7D%0A%0A    /**%0A     * get the description of this command%0A     *%0A     * @return the description as String%0A     */%0A    public String getDescription() %7B%0A        return description;%0A    %7D%0A%0A    @Override%0A    public String getBotToken() %7B%0A        return botToken;%0A    %7D%0A%0A    /**%0A     * execute the command%0A     *%0A     * @param arguments passed arguments%0A     * @param chatId    id of the chat, to be able to send replies%0A     */%0A    abstract void execute(String%5B%5D arguments, long chatId);%0A%7D

Create and implement basic command