package api import ( "encoding/json" "github.com/diamondburned/arikawa/v3/discord" "github.com/diamondburned/arikawa/v3/utils/httputil" ) var EndpointApplications = Endpoint + "applications/" // https://discord.com/developers/docs/interactions/slash-commands#create-global-application-command-json-params type CreateCommandData struct { Name string `json:"name"` Description string `json:"description"` Options []discord.CommandOption `json:"options,omitempty"` NoDefaultPermission bool `json:"-"` Type discord.CommandType `json:"type,omitempty"` } func (c CreateCommandData) MarshalJSON() ([]byte, error) { type RawCreateCommandData CreateCommandData cmd := struct { RawCreateCommandData DefaultPermission bool `json:"default_permission"` }{RawCreateCommandData: (RawCreateCommandData)(c)} // Discord defaults default_permission to true, so we need to invert the // meaning of the field (>NoNo