Discord Components & Role Selection (#5)

This commit is contained in:
2023-04-01 01:23:37 -04:00
committed by GitHub
parent 5e6a433b92
commit e1038a15cd
25 changed files with 696 additions and 31 deletions

View 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,
}
}