Package com.jagrosh.jdautilities.menu
Class ButtonMenu.Builder
java.lang.Object
com.jagrosh.jdautilities.menu.Menu.Builder<ButtonMenu.Builder,ButtonMenu>
com.jagrosh.jdautilities.menu.ButtonMenu.Builder
- Enclosing class:
ButtonMenu
The
Menu.Builder for
a ButtonMenu.- Author:
- John Grosh
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionAdds a single String unicode emoji as a button choice.addChoice(net.dv8tion.jda.api.entities.emoji.Emoji emote) Adds a single customEmoteas button choices.addChoices(String... emojis) Adds String unicode emojis as button choices.addChoices(net.dv8tion.jda.api.entities.emoji.Emoji... emotes) Adds customEmotes as button choices.build()Builds theButtonMenuwith this Builder.Sets theConsumeraction to perform upon selecting a button.setChoices(String... emojis) Sets the String unicode emojis as button choices.setChoices(net.dv8tion.jda.api.entities.emoji.Emoji... emotes) Sets theEmotes as button choices.Sets theColorof theMessageEmbed.setDescription(String description) Sets the description to be placed in anMessageEmbed.setFinalAction(Consumer<net.dv8tion.jda.api.entities.Message> finalAction) Sets theConsumerto perform if theButtonMenuis done, either via cancellation, a timeout, or a selection being made.Sets the text of theMessageto be displayed when theButtonMenuis built.Methods inherited from class com.jagrosh.jdautilities.menu.Menu.Builder
addRoles, addUsers, setEventWaiter, setRoles, setTimeout, setUsers
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
build
Builds theButtonMenuwith this Builder.- Specified by:
buildin classMenu.Builder<ButtonMenu.Builder,ButtonMenu> - Returns:
- The OrderedMenu built from this Builder.
- Throws:
IllegalArgumentException- If one of the following is violated:- No
EventWaiterwas set. - No choices were set.
- No action
Consumerwas set. - Neither text nor description were set.
- No
-
setColor
Sets theColorof theMessageEmbed.- Parameters:
color- The Color of the MessageEmbed- Returns:
- This builder
-
setText
Sets the text of theMessageto be displayed when theButtonMenuis built.This is displayed directly above the embed.
- Parameters:
text- The Message content to be displayed above the embed when the ButtonMenu is built- Returns:
- This builder
-
setDescription
Sets the description to be placed in anMessageEmbed.
If this isnull, no MessageEmbed will be displayed- Parameters:
description- The content of the MessageEmbed's description- Returns:
- This builder
-
setAction
Sets theConsumeraction to perform upon selecting a button.- Parameters:
action- The Consumer action to perform upon selecting a button- Returns:
- This builder
-
setFinalAction
public ButtonMenu.Builder setFinalAction(Consumer<net.dv8tion.jda.api.entities.Message> finalAction) Sets theConsumerto perform if theButtonMenuis done, either via cancellation, a timeout, or a selection being made.This accepts the message used to display the menu when called.
- Parameters:
finalAction- The Runnable action to perform if the ButtonMenu is done- Returns:
- This builder
-
addChoice
Adds a single String unicode emoji as a button choice.Any non-unicode
Emoteshould be added usingButtonMenu.Builder#addChoice(Emote).- Parameters:
emoji- The String unicode emoji to add- Returns:
- This builder
-
addChoice
Adds a single customEmoteas button choices.Any regular unicode emojis should be added using
ButtonMenu.Builder#addChoice(String).- Parameters:
emote- The Emote object to add- Returns:
- This builder
-
addChoices
Adds String unicode emojis as button choices.Any non-unicode
Emotes should be added usingButtonMenu.Builder#addChoices(Emote...).- Parameters:
emojis- The String unicode emojis to add- Returns:
- This builder
-
addChoices
Adds customEmotes as button choices.Any regular unicode emojis should be added using
ButtonMenu.Builder#addChoices(String...).- Parameters:
emotes- The Emote objects to add- Returns:
- This builder
-
setChoices
Sets the String unicode emojis as button choices.Any non-unicode
Emotes should be set usingButtonMenu.Builder#setChoices(Emote...).- Parameters:
emojis- The String unicode emojis to set- Returns:
- This builder
-
setChoices
Sets theEmotes as button choices.Any regular unicode emojis should be set using
ButtonMenu.Builder#setChoices(String...).- Parameters:
emotes- The Emote objects to set- Returns:
- This builder
-