Discord Components & Role Selection (#5)
This commit is contained in:
38
discord/component_action_row.go
Normal file
38
discord/component_action_row.go
Normal file
@ -0,0 +1,38 @@
|
||||
package discord
|
||||
|
||||
import "github.com/bwmarrin/discordgo"
|
||||
|
||||
type ActionRow struct {
|
||||
components []Component
|
||||
}
|
||||
|
||||
// NewActionRow creates an empty action row component
|
||||
func (discord *Discord) NewActionRow() *ActionRow {
|
||||
return &ActionRow{
|
||||
components: []Component{},
|
||||
}
|
||||
}
|
||||
|
||||
// NewActionRowWith creates an action row with a set of components
|
||||
func (discord *Discord) NewActionRowWith(comp []Component) *ActionRow {
|
||||
return &ActionRow{
|
||||
components: comp,
|
||||
}
|
||||
}
|
||||
|
||||
// AddComponent adds a component to the action row
|
||||
func (row *ActionRow) AddComponent(comp Component) {
|
||||
row.components = append(row.components, comp)
|
||||
}
|
||||
|
||||
func (row *ActionRow) toMessageComponent() discordgo.MessageComponent {
|
||||
|
||||
comps := make([]discordgo.MessageComponent, len(row.components))
|
||||
for i, v := range row.components {
|
||||
comps[i] = v.toMessageComponent()
|
||||
}
|
||||
|
||||
return discordgo.ActionsRow{
|
||||
Components: comps,
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user