mirror of
https://github.com/diamondburned/arikawa.git
synced 2024-12-12 08:25:10 +00:00
44 lines
1.1 KiB
Go
44 lines
1.1 KiB
Go
package discord
|
|
|
|
import "time"
|
|
|
|
type Command struct {
|
|
ID CommandID `json:"id"`
|
|
AppID AppID `json:"application_id"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Options []CommandOption `json:"options,omitempty"`
|
|
}
|
|
|
|
// CreatedAt returns a time object representing when the command was created.
|
|
func (c Command) CreatedAt() time.Time {
|
|
return c.ID.Time()
|
|
}
|
|
|
|
type CommandOption struct {
|
|
Type CommandOptionType `json:"type"`
|
|
Name string `json:"name"`
|
|
Description string `json:"description"`
|
|
Required bool `json:"required"`
|
|
Choices []CommandOptionChoice `json:"choices,omitempty"`
|
|
Options []CommandOption `json:"options,omitempty"`
|
|
}
|
|
|
|
type CommandOptionType uint
|
|
|
|
const (
|
|
SubcommandOption CommandOptionType = iota + 1
|
|
SubcommandGroupOption
|
|
StringOption
|
|
IntegerOption
|
|
BooleanOption
|
|
UserOption
|
|
ChannelOption
|
|
RoleOption
|
|
)
|
|
|
|
type CommandOptionChoice struct {
|
|
Name string `json:"name"`
|
|
Value string `json:"value"`
|
|
}
|