Builders topic
This topic contains classes used to construct models that can be serialized and sent to the Discord API, for example as a request to create or update an entity.
Builders can usually be split into two categories: CreateBuilders are used for creating new instances and may have required fields. UpdateBuilders are used to update existing instances and generally have all optional fields.
Most builders are named after the Model they correspond to. A CreateBuilder
for a given model will usually be named the same as the model, with the
-Builder suffix. If the model also has an UpdateBuilder, it will be named
the same as the model, with the -UpdateBuilder suffix.
The type argument on a builder is used to indicate the Model that builder is for. Some builders do not have a corresponding model (they are "upload-only") and will use themselves as their type argument.
Some builders are shared for multiple variations of a given model. For example, an ApplicationCommandBuilder can be used to create a builder for a chat command, a user command, or a message command depending on the value of the ApplicationCommandBuilder.type field. Such builders may have restrictions on which fields are compatible with which type, in which case named constructors corresponding to each possible type are provided with only the allowed fields.
Classes
- ActionMetadataBuilder Builders
- ActionRowBuilder Builders
- ActivityBuilder Builders
- AllowedMentions Builders
- ApplicationCommandBuilder Builders
- ApplicationCommandUpdateBuilder Builders
- ApplicationEmojiBuilder Builders
- ApplicationEmojiUpdateBuilder Builders
- ApplicationIntegrationTypeConfigurationBuilder Builders
- ApplicationRoleConnectionUpdateBuilder Builders
- ApplicationUpdateBuilder Builders
- AttachmentBuilder Builders
- AutoModerationActionBuilder Builders
- AutoModerationRuleBuilder Builders
- AutoModerationRuleUpdateBuilder Builders
-
Builder<
T> Core Builders - ButtonBuilder Builders
- ChannelPositionBuilder Builders
- CheckboxComponentBuilder Builders
- CheckboxGroupComponentBuilder Builders
- CheckboxGroupOptionBuilder Builders
- CommandOptionBuilder Builders
-
CommandOptionChoiceBuilder<
T> Builders -
ComponentBuilder<
T extends Component> Builders - ContainerComponentBuilder Builders
-
CreateBuilder<
T> Core Builders - CurrentMemberUpdateBuilder Builders
- CurrentUserVoiceStateUpdateBuilder Builders
-
DefaultValue<
T extends SnowflakeEntity< BuildersT> > - DmRecipientBuilder Builders
- EmbedAuthorBuilder Builders
- EmbedBuilder Builders
- EmbedFieldBuilder Builders
- EmbedImageBuilder Builders
- EmbedThumbnailBuilder Builders
- EmojiBuilder Builders
- EmojiUpdateBuilder Builders
- FileComponentBuilder Builders
- FileUploadComponentBuilder Builders
- ForumChannelBuilder Builders
- ForumChannelUpdateBuilder Builders
- ForumTagBuilder Builders
- ForumThreadBuilder Builders
- GatewayVoiceStateBuilder Builders
- GroupDmUpdateBuilder Builders
- GuildAnnouncementChannelBuilder Builders
- GuildAnnouncementChannelUpdateBuilder Builders
- GuildBuilder Builders
- GuildCategoryBuilder Builders
- GuildCategoryUpdateBuilder Builders
-
GuildChannelBuilder<
T extends GuildChannel> Builders -
GuildChannelUpdateBuilder<
T extends GuildChannel> Builders - GuildIncidentsUpdateBuilder Builders
- GuildStageChannelBuilder Builders
- GuildStageChannelUpdateBuilder Builders
- GuildTemplateBuilder Builders
- GuildTemplateUpdateBuilder Builders
- GuildTextChannelBuilder Builders
- GuildTextChannelUpdateBuilder Builders
- GuildUpdateBuilder Builders
- GuildVoiceChannelBuilder Builders
- GuildVoiceChannelUpdateBuilder Builders
- ImageBuilder Builders
- InteractionResponseBuilder Builders
- InviteBuilder Builders
- LabelComponentBuilder Builders
- MediaGalleryComponentBuilder Builders
- MediaGalleryItemBuilder Builders
- MemberBuilder Builders
- MemberUpdateBuilder Builders
- MessageBuilder Builders
- MessageReferenceBuilder Builders
- MessageUpdateBuilder Builders
- ModalBuilder Builders
- OnboardingPromptBuilder Builders
- OnboardingPromptOptionBuilder Builders
- OnboardingUpdateBuilder Builders
- PermissionOverwriteBuilder Builders
- PollAnswerBuilder Builders
- External references:
- PollBuilder Builders
- The poll object has a lot of levels and nested structures. It was also designed to support future extensibility, so some fields may appear to be more complex than necessary.
- PollMediaBuilder Builders
- The poll media object is a common object that backs both the question and answers. The intention is that it allows us to extensibly add new ways to display things in the future. For now, Poll.question only supports PollMedia.text, while answers can have an optional PollMedia.emoji.
- PresenceBuilder Builders
- RadioGroupComponentBuilder Builders
- RadioGroupOptionBuilder Builders
- ReactionBuilder Builders
- RecurrenceRuleBuilder Builders
- RoleBuilder Builders
- RoleColorsBuilder Builders
- RoleUpdateBuilder Builders
- ScheduledEventBuilder Builders
- ScheduledEventUpdateBuilder Builders
- SectionComponentBuilder Builders
- SelectMenuBuilder Builders
- SelectMenuOptionBuilder Builders
- SeparatorComponentBuilder Builders
- SoundboardSoundBuilder Builders
- SoundboardSoundUpdateBuilder Builders
- SoundBuilder Builders
- StageInstanceBuilder Builders
- A Stage Instance holds information about a live stage.
- StageInstanceUpdateBuilder Builders
- StickerBuilder Builders
- StickerUpdateBuilder Builders
- TestEntitlementBuilder Builders
- TextDisplayComponentBuilder Builders
- TextInputBuilder Builders
- ThreadBuilder Builders
- ThreadFromMessageBuilder Builders
- ThreadUpdateBuilder Builders
- ThumbnailComponentBuilder Builders
- TriggerMetadataBuilder Builders
- UnfurledMediaItemBuilder Builders
-
UpdateBuilder<
T> Core Builders - UserUpdateBuilder Builders
- VoiceStateUpdateBuilder Builders
- WebhookBuilder Builders
- WebhookUpdateBuilder Builders
- WelcomeScreenUpdateBuilder Builders
- WidgetSettingsUpdateBuilder Builders