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

29
discord/component.go Normal file
View File

@ -0,0 +1,29 @@
package discord
import (
"log"
"github.com/bwmarrin/discordgo"
)
// Component is an object that can be formatted as a discord component
type Component interface {
toMessageComponent() discordgo.MessageComponent
}
// CreateMessageComponent creates a discord component
func (discord *Discord) CreateMessageComponent(channelID string, content string, components []Component) {
dComponents := make([]discordgo.MessageComponent, len(components))
for i, v := range components {
dComponents[i] = v.toMessageComponent()
}
if _, err := discord.session.ChannelMessageSendComplex(channelID, &discordgo.MessageSend{
Components: dComponents,
Content: content,
}); err != nil {
log.Print(err)
}
}