Class CommandRegistry
- java.lang.Object
-
- org.telegram.telegrambots.extensions.bots.commandbot.commands.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 Summary
Constructors Constructor Description CommandRegistry(boolean allowCommandsWithUsername, Supplier<String> botUsernameSupplier)Creates a Command registry
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanderegister(IBotCommand botCommand)deregister a commandMap<IBotCommand,Boolean>deregisterAll(IBotCommand... botCommands)deregister multiple commandsbooleanexecuteCommand(org.telegram.telegrambots.meta.bots.AbsSender absSender, org.telegram.telegrambots.meta.api.objects.Message message)Executes a command action if the command is registered.IBotCommandgetRegisteredCommand(String commandIdentifier)get registered commandCollection<IBotCommand>getRegisteredCommands()get a collection of all registered commandsbooleanregister(IBotCommand botCommand)register a commandMap<IBotCommand,Boolean>registerAll(IBotCommand... botCommands)register multiple commandsvoidregisterDefaultAction(BiConsumer<org.telegram.telegrambots.meta.bots.AbsSender,org.telegram.telegrambots.meta.api.objects.Message> defaultConsumer)Register a default action when there is no command register that match the message sent
-
-
-
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:ICommandRegistryRegister a default action when there is no command register that match the message sent- Specified by:
registerDefaultActionin interfaceICommandRegistry- Parameters:
defaultConsumer- Consumer to evaluate the message
-
register
public final boolean register(IBotCommand botCommand)
Description copied from interface:ICommandRegistryregister a command- Specified by:
registerin interfaceICommandRegistry- Parameters:
botCommand- the command to register- Returns:
- whether the command could be registered, was not already registered
-
registerAll
public final Map<IBotCommand,Boolean> registerAll(IBotCommand... botCommands)
Description copied from interface:ICommandRegistryregister multiple commands- Specified by:
registerAllin interfaceICommandRegistry- Parameters:
botCommands- commands to register- Returns:
- map with results of the command register per command
-
deregister
public final boolean deregister(IBotCommand botCommand)
Description copied from interface:ICommandRegistryderegister a command- Specified by:
deregisterin interfaceICommandRegistry- Parameters:
botCommand- the command to deregister- Returns:
- whether the command could be deregistered, was registered
-
deregisterAll
public final Map<IBotCommand,Boolean> deregisterAll(IBotCommand... botCommands)
Description copied from interface:ICommandRegistryderegister multiple commands- Specified by:
deregisterAllin interfaceICommandRegistry- Parameters:
botCommands- commands to deregister- Returns:
- map with results of the command deregistered per command
-
getRegisteredCommands
public final Collection<IBotCommand> getRegisteredCommands()
Description copied from interface:ICommandRegistryget a collection of all registered commands- Specified by:
getRegisteredCommandsin interfaceICommandRegistry- Returns:
- a collection of registered commands
-
getRegisteredCommand
public final IBotCommand getRegisteredCommand(String commandIdentifier)
Description copied from interface:ICommandRegistryget registered command- Specified by:
getRegisteredCommandin interfaceICommandRegistry- Returns:
- registered command if exists or null if not
-
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- absSendermessage- input message- Returns:
- True if a command or default action is executed, false otherwise
-
-