Class TelegramLongPollingCommandBot

java.lang.Object
org.telegram.telegrambots.meta.bots.AbsSender
org.telegram.telegrambots.bots.DefaultAbsSender
org.telegram.telegrambots.bots.TelegramLongPollingBot
org.telegram.telegrambots.extensions.bots.commandbot.TelegramLongPollingCommandBot
All Implemented Interfaces:
CommandBot, ICommandRegistry, org.telegram.telegrambots.meta.generics.LongPollingBot, org.telegram.telegrambots.meta.generics.TelegramBot

public abstract class TelegramLongPollingCommandBot extends TelegramLongPollingBot implements CommandBot, ICommandRegistry
This class adds command functionality to the TelegramLongPollingBot
Author:
Timo Schulz (Mit0x2)
  • Constructor Details

    • TelegramLongPollingCommandBot

      @Deprecated public TelegramLongPollingCommandBot()
      Deprecated.
      Use {#TelegramLongPollingBot(String)
      Creates a TelegramLongPollingCommandBot using default options Use ICommandRegistry's methods on this bot to register commands
    • TelegramLongPollingCommandBot

      @Deprecated public TelegramLongPollingCommandBot(DefaultBotOptions options)
      Deprecated.
      Use {#TelegramLongPollingBot(DefaultBotOptions, String)
      Creates a TelegramLongPollingCommandBot with custom options and allowing commands with usernames Use ICommandRegistry's methods on this bot to register commands
      Parameters:
      options - Bot options
    • TelegramLongPollingCommandBot

      @Deprecated public TelegramLongPollingCommandBot(DefaultBotOptions options, boolean allowCommandsWithUsername)
      Deprecated.
      Use {#TelegramLongPollingBot(DefaultBotOptions, boolean, String)
      Creates a TelegramLongPollingCommandBot Use ICommandRegistry's methods on this bot to register commands
      Parameters:
      options - Bot options
      allowCommandsWithUsername - true to allow commands with parameters (default), false otherwise
    • TelegramLongPollingCommandBot

      public TelegramLongPollingCommandBot(String botToken)
      Creates a TelegramLongPollingCommandBot using default options Use ICommandRegistry's methods on this bot to register commands
    • TelegramLongPollingCommandBot

      public TelegramLongPollingCommandBot(DefaultBotOptions options, String botToken)
      Creates a TelegramLongPollingCommandBot with custom options and allowing commands with usernames Use ICommandRegistry's methods on this bot to register commands
      Parameters:
      options - Bot options
    • TelegramLongPollingCommandBot

      public TelegramLongPollingCommandBot(DefaultBotOptions options, boolean allowCommandsWithUsername, String botToken)
      Creates a TelegramLongPollingCommandBot Use ICommandRegistry's methods on this bot to register commands
      Parameters:
      options - Bot options
      allowCommandsWithUsername - true to allow commands with parameters (default), false otherwise
  • Method Details

    • onUpdateReceived

      public final void onUpdateReceived(org.telegram.telegrambots.meta.api.objects.Update update)
      Specified by:
      onUpdateReceived in interface org.telegram.telegrambots.meta.generics.LongPollingBot
    • 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
    • registerAll

      public final Map<IBotCommand,Boolean> registerAll(IBotCommand... botCommands)
      Description copied from interface: ICommandRegistry
      register multiple commands
      Specified by:
      registerAll in interface ICommandRegistry
      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: 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
    • deregisterAll

      public final Map<IBotCommand,Boolean> deregisterAll(IBotCommand... botCommands)
      Description copied from interface: ICommandRegistry
      deregister multiple commands
      Specified by:
      deregisterAll in interface ICommandRegistry
      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: ICommandRegistry
      get a collection of all registered commands
      Specified by:
      getRegisteredCommands in interface ICommandRegistry
      Returns:
      a collection of registered commands
    • 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
    • getRegisteredCommand

      public final IBotCommand getRegisteredCommand(String commandIdentifier)
      Description copied from interface: ICommandRegistry
      get registered command
      Specified by:
      getRegisteredCommand in interface ICommandRegistry
      Returns:
      registered command if exists or null if not
    • getBotUsername

      public abstract String getBotUsername()
      Specified by:
      getBotUsername in interface org.telegram.telegrambots.meta.generics.TelegramBot
      Returns:
      Bot username