forked from pothtonswer/discordmuffin
feat: add SelectMenuBuilder, SelectMenuOptionBuilder, SelectMenuDefaultValueBuilder
This commit is contained in:
parent
8b62e9a252
commit
1545e23e32
1 changed files with 95 additions and 0 deletions
95
builder.go
95
builder.go
|
@ -123,3 +123,98 @@ func (b *Button) SetSKUID(skuID string) *Button {
|
|||
b.SKUID = skuID
|
||||
return b
|
||||
}
|
||||
|
||||
// SelectMenuBuilder creates a new SelectMenu struct.
|
||||
func SelectMenuBuilder(menuType SelectMenuType) *SelectMenu {
|
||||
return &SelectMenu{MenuType: menuType}
|
||||
}
|
||||
|
||||
// SetCustomID sets customID for SelectMenu.
|
||||
func (s *SelectMenu) SetCustomID(customID string) *SelectMenu {
|
||||
s.CustomID = customID
|
||||
return s
|
||||
}
|
||||
|
||||
// AddOptions adds options for SelectMenu.
|
||||
// NOTE: It can be used in string SelectMenu.
|
||||
func (s *SelectMenu) AddOptions(options ...SelectMenuOption) *SelectMenu {
|
||||
s.Options = append(s.Options, options...)
|
||||
return s
|
||||
}
|
||||
|
||||
// SetPlaceholder sets placeholder for SelectMenu.
|
||||
func (s *SelectMenu) SetPlaceholder(placeholder string) *SelectMenu {
|
||||
s.Placeholder = placeholder
|
||||
return s
|
||||
}
|
||||
|
||||
// SetMinValues sets min values for SelectMenu.
|
||||
func (s *SelectMenu) SetMinValues(minValues int) *SelectMenu {
|
||||
s.MinValues = &minValues
|
||||
return s
|
||||
}
|
||||
|
||||
// SetMaxValues sets max values for SelectMenu.
|
||||
func (s *SelectMenu) SetMaxValues(maxValues int) *SelectMenu {
|
||||
s.MaxValues = maxValues
|
||||
return s
|
||||
}
|
||||
|
||||
// SetDisabled sets disabled for SelectMenu.
|
||||
func (s *SelectMenu) SetDisabled(disabled bool) *SelectMenu {
|
||||
s.Disabled = disabled
|
||||
return s
|
||||
}
|
||||
|
||||
// AddDefaultValues adds default values for SelectMenu.
|
||||
// NOTE: It can not be used in string SelectMenu.
|
||||
func (s *SelectMenu) AddDefaultValues(defaultValues ...SelectMenuDefaultValue) *SelectMenu {
|
||||
s.DefaultValues = append(s.DefaultValues, defaultValues...)
|
||||
return s
|
||||
}
|
||||
|
||||
// SelectMenuOptionBuilder creates a new SelectMenuOption struct.
|
||||
func SelectMenuOptionBuilder() *SelectMenuOption {
|
||||
return &SelectMenuOption{}
|
||||
}
|
||||
|
||||
// SetLabel sets label for SelectMenuOption.
|
||||
func (o *SelectMenuOption) SetLabel(label string) *SelectMenuOption {
|
||||
o.Label = label
|
||||
return o
|
||||
}
|
||||
|
||||
// SetValue sets value for SelectMenuOption.
|
||||
func (o *SelectMenuOption) SetValue(value string) *SelectMenuOption {
|
||||
o.Value = value
|
||||
return o
|
||||
}
|
||||
|
||||
// SetDescription sets description for SelectMenuOption.
|
||||
func (o *SelectMenuOption) SetDescription(desc string) *SelectMenuOption {
|
||||
o.Description = desc
|
||||
return o
|
||||
}
|
||||
|
||||
// SetEmoji sets emoji for SelectMenuOption.
|
||||
func (o *SelectMenuOption) SetEmoji(emoji ComponentEmoji) *SelectMenuOption {
|
||||
o.Emoji = &emoji
|
||||
return o
|
||||
}
|
||||
|
||||
// SetDefault sets default for SelectMenuOption.
|
||||
func (o *SelectMenuOption) SetDefault(optionDefault bool) *SelectMenuOption {
|
||||
o.Default = optionDefault
|
||||
return o
|
||||
}
|
||||
|
||||
// SelectMenuDefaultValueBuilder creates a new SelectMenuDefaultValue struct.
|
||||
func SelectMenuDefaultValueBuilder(valueType SelectMenuDefaultValueType) *SelectMenuDefaultValue {
|
||||
return &SelectMenuDefaultValue{Type: valueType}
|
||||
}
|
||||
|
||||
// SetID sets ID for SelectMenuDefaultValue.
|
||||
func (d *SelectMenuDefaultValue) SetID(id string) *SelectMenuDefaultValue {
|
||||
d.ID = id
|
||||
return d
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue