Class CommandRegistry

  • All Implemented Interfaces:
    ICommandRegistry

    public final class CommandRegistry
    extends Object
    implements ICommandRegistry
    This class manages all the commands for a bot. You can register and deregister commands on demand
    Author:
    Timo Schulz (Mit0x2)
    • Constructor Detail

      • CommandRegistry

        public CommandRegistry​(boolean allowCommandsWithUsername,
                               Supplier<String> botUsernameSupplier)
        Creates a Command registry
        Parameters:
        allowCommandsWithUsername - True to allow commands with username, false otherwise
        botUsernameSupplier - Bot username supplier
    • Method Detail

      • registerDefaultAction

        public void registerDefaultAction​(BiConsumer<org.telegram.telegrambots.meta.bots.AbsSender,​org.telegram.telegrambots.meta.api.objects.Message> defaultConsumer)
        Description copied from interface: ICommandRegistry
        Register a default action when there is no command register that match the message sent
        Specified by:
        registerDefaultAction in interface ICommandRegistry
        Parameters:
        defaultConsumer - Consumer to evaluate the message
      • register

        public final boolean register​(IBotCommand botCommand)
        Description copied from interface: ICommandRegistry
        register a command
        Specified by:
        register in interface ICommandRegistry
        Parameters:
        botCommand - the command to register
        Returns:
        whether the command could be registered, was not already registered
      • deregister

        public final boolean deregister​(IBotCommand botCommand)
        Description copied from interface: ICommandRegistry
        deregister a command
        Specified by:
        deregister in interface ICommandRegistry
        Parameters:
        botCommand - the command to deregister
        Returns:
        whether the command could be deregistered, was registered
      • executeCommand

        public final boolean executeCommand​(org.telegram.telegrambots.meta.bots.AbsSender absSender,
                                            org.telegram.telegrambots.meta.api.objects.Message message)
        Executes a command action if the command is registered.
        Parameters:
        absSender - absSender
        message - input message
        Returns:
        True if a command or default action is executed, false otherwise