Class CommandLongPollingTelegramBot
Object
CommandLongPollingTelegramBot
- All Implemented Interfaces:
CommandBot,ICommandRegistry,LongPollingUpdateConsumer,LongPollingSingleThreadUpdateConsumer
public abstract class CommandLongPollingTelegramBot
extends Object
implements CommandBot, ICommandRegistry, LongPollingSingleThreadUpdateConsumer
This class adds command functionality to the TelegramLongPollingBot
- Author:
- Timo Schulz (Mit0x2)
-
Field Summary
FieldsFields inherited from interface LongPollingSingleThreadUpdateConsumer
updatesProcessorExecutor -
Constructor Summary
ConstructorsConstructorDescriptionCommandLongPollingTelegramBot(TelegramClient telegramClient, boolean allowCommandsWithUsername, Supplier<String> botUsernameSupplier) Creates a Bot for Long Polling Use ICommandRegistry's methods on this bot to register commands -
Method Summary
Modifier and TypeMethodDescriptionfinal voidconsume(Update update) final booleanderegister(IBotCommand botCommand) deregister a commandfinal Map<IBotCommand,Boolean> deregisterAll(IBotCommand... botCommands) deregister multiple commandsfinal IBotCommandgetRegisteredCommand(String commandIdentifier) get registered commandfinal Collection<IBotCommand>get a collection of all registered commandsfinal booleanregister(IBotCommand botCommand) register a commandfinal Map<IBotCommand,Boolean> registerAll(IBotCommand... botCommands) register multiple commandsvoidregisterDefaultAction(BiConsumer<TelegramClient, Message> defaultConsumer) Register a default action when there is no command register that match the message sentMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface CommandBot
filter, processInvalidCommandUpdate, processNonCommandUpdateMethods inherited from interface LongPollingSingleThreadUpdateConsumer
consume
-
Field Details
-
telegramClient
protected final TelegramClient telegramClient
-
-
Constructor Details
-
CommandLongPollingTelegramBot
public CommandLongPollingTelegramBot(TelegramClient telegramClient, boolean allowCommandsWithUsername, Supplier<String> botUsernameSupplier) Creates a Bot for Long Polling Use ICommandRegistry's methods on this bot to register commands- Parameters:
telegramClient- Telegram client used to send requestsallowCommandsWithUsername- true to allow commands with parameters (default), false otherwisebotUsernameSupplier- Bot username supplier
-
-
Method Details
-
consume
public final void consume(Update update) - Specified by:
consumein interfaceLongPollingSingleThreadUpdateConsumer
-
register
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
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
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
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
Description copied from interface:ICommandRegistryget a collection of all registered commands- Specified by:
getRegisteredCommandsin interfaceICommandRegistry- Returns:
- a collection of registered commands
-
registerDefaultAction
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
-
getRegisteredCommand
Description copied from interface:ICommandRegistryget registered command- Specified by:
getRegisteredCommandin interfaceICommandRegistry- Returns:
- registered command if exists or null if not
-