Class ButtonEmbedPaginator.Builder

Enclosing class:
ButtonEmbedPaginator

public static class ButtonEmbedPaginator.Builder extends Menu.Builder<ButtonEmbedPaginator.Builder,ButtonEmbedPaginator>
  • Constructor Details

    • Builder

      public Builder()
  • Method Details

    • build

      public ButtonEmbedPaginator build()
      Builds the ButtonEmbedPaginator with this Builder.
      Specified by:
      build in class Menu.Builder<ButtonEmbedPaginator.Builder,ButtonEmbedPaginator>
      Returns:
      The Paginator built from this Builder.
      Throws:
      IllegalArgumentException - If one of the following is violated:
      • No EventWaiter was set.
      • No items were set to paginate.
    • setText

      public ButtonEmbedPaginator.Builder setText(String text)
      Sets the text of the Message to be displayed when the ButtonEmbedPaginator is built.
      Parameters:
      text - The Message content to be displayed above the embed when the EmbedPaginator is built.
      Returns:
      This builder
    • setText

      public ButtonEmbedPaginator.Builder setText(BiFunction<Integer,Integer,String> textBiFunction)
      Sets the text of the Message to be displayed relative to the total page number and the current page as determined by the provided BiFunction.
      As the page changes, the BiFunction will re-process the current page number and the total page number, allowing for the displayed text of the Message to change depending on the page number.
      Parameters:
      textBiFunction - The BiFunction that uses both current and total page numbers, to get text for the Message
      Returns:
      This builder
    • setFinalAction

      public ButtonEmbedPaginator.Builder setFinalAction(Consumer<net.dv8tion.jda.api.entities.Message> finalAction)
      Sets the Consumer to perform if the ButtonEmbedPaginator times out.
      Parameters:
      finalAction - The Consumer action to perform if the EmbedPaginator times out
      Returns:
      This builder
    • waitOnSinglePage

      public ButtonEmbedPaginator.Builder waitOnSinglePage(boolean waitOnSinglePage)
      Sets whether the ButtonEmbedPaginator will instantly timeout, and possibly run a provided Runnable, if only a single slide is available to display.
      Parameters:
      waitOnSinglePage - true if the EmbedPaginator will still generate
      Returns:
      This builder
    • clearItems

      public ButtonEmbedPaginator.Builder clearItems()
      Clears all previously set items.
      Returns:
      This builder
    • addItems

      public ButtonEmbedPaginator.Builder addItems(net.dv8tion.jda.api.entities.MessageEmbed... embeds)
      Adds MessageEmbed to the list of items to paginate.
      Parameters:
      embeds - The list of MessageEmbeds to add
      Returns:
      This builder
    • addItems

      public ButtonEmbedPaginator.Builder addItems(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds)
      Adds the collection of provided MessageEmbed to the list of items to paginate.
      Parameters:
      embeds - The collection of MessageEmbeds to add
      Returns:
      This builder
    • addItems

      public ButtonEmbedPaginator.Builder addItems(String... items)
      Adds MessageEmbeds to the list of items to paginate.
      This method creates a new, basic MessageEmbed containing only the provided String as description.
      Use the Paginator for more Embed customization, without providing your own MessageEmbed instances.
      Parameters:
      items - The String list of items to add as MessageEmbeds
      Returns:
      This builder
      Throws:
      IllegalArgumentException - When one of the provided Strings is longer than 2048 characters.
    • setItems

      public ButtonEmbedPaginator.Builder setItems(net.dv8tion.jda.api.entities.MessageEmbed... embeds)
      Sets the MessageEmbed to paginate.
      This method clears all previously set items before setting.
      Parameters:
      embeds - The MessageEmbed list of items to add
      Returns:
      This builder
    • setItems

      public ButtonEmbedPaginator.Builder setItems(Collection<net.dv8tion.jda.api.entities.MessageEmbed> embeds)
      Sets the MessageEmbeds to paginate.
      This method clears all previously set items before adding the provided collection of MessageEmbeds.
      Parameters:
      embeds - The collection of MessageEmbeds to set.
      Returns:
      This builder
    • setItems

      public ButtonEmbedPaginator.Builder setItems(String... items)
      Sets the MessageEmbeds to paginate.
      This method clears all previously set items before setting each String as a new MessageEmbed.
      Use the Paginator for more Embed customization, without providing your own MessageEmbed instances.
      Parameters:
      items - The String list of items to add
      Returns:
      This builder
      Throws:
      IllegalArgumentException - When one of the provided Strings is longer than 2048 characters.
    • setBulkSkipNumber

      public ButtonEmbedPaginator.Builder setBulkSkipNumber(int bulkSkipNumber)
      Sets the ButtonEmbedPaginator's bulk-skip function to skip multiple pages using alternate forward and backwards reactions.
      Parameters:
      bulkSkipNumber - The number of pages to skip when the bulk-skip reactions are used.
      Returns:
      This builder
    • wrapPageEnds

      public ButtonEmbedPaginator.Builder wrapPageEnds(boolean wrapPageEnds)
      Sets the EmbedPaginator to wrap from the last page to the first when traversing right and vice versa from the left.
      Parameters:
      wrapPageEnds - true to enable wrapping.
      Returns:
      This builder
    • setButtonStyle

      public ButtonEmbedPaginator.Builder setButtonStyle(net.dv8tion.jda.api.interactions.components.buttons.ButtonStyle style)
      Sets the ButtonStyle to use for the buttons. By default, this is SECONARY.
      Parameters:
      style - The new style
      Returns:
      This builder