Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add support for nsfw application commands #207

Merged
merged 1 commit into from
Nov 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions discord/application_command.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ type ApplicationCommand interface {
DMPermission() bool
Version() snowflake.ID
CreatedAt() time.Time
NSFW() bool
applicationCommand()
}

Expand Down Expand Up @@ -93,6 +94,7 @@ type SlashCommand struct {
Options []ApplicationCommandOption
defaultMemberPermissions Permissions
dmPermission bool
nsfw bool
version snowflake.ID
}

Expand All @@ -114,6 +116,7 @@ func (c *SlashCommand) UnmarshalJSON(data []byte) error {
c.Options = v.Options
c.defaultMemberPermissions = v.DefaultMemberPermissions
c.dmPermission = v.DMPermission
c.nsfw = v.NSFW
c.version = v.Version
return nil
}
Expand All @@ -133,6 +136,7 @@ func (c SlashCommand) MarshalJSON() ([]byte, error) {
Options: c.Options,
DefaultMemberPermissions: c.defaultMemberPermissions,
DMPermission: c.dmPermission,
NSFW: c.nsfw,
Version: c.version,
})
}
Expand Down Expand Up @@ -172,6 +176,10 @@ func (c SlashCommand) DMPermission() bool {
return c.dmPermission
}

func (c SlashCommand) NSFW() bool {
return c.nsfw
}

func (c SlashCommand) Version() snowflake.ID {
return c.version
}
Expand All @@ -197,6 +205,7 @@ type UserCommand struct {
nameLocalized string
defaultMemberPermissions Permissions
dmPermission bool
nsfw bool
version snowflake.ID
}

Expand All @@ -214,6 +223,7 @@ func (c *UserCommand) UnmarshalJSON(data []byte) error {
c.nameLocalized = v.NameLocalized
c.defaultMemberPermissions = v.DefaultMemberPermissions
c.dmPermission = v.DMPermission
c.nsfw = v.NSFW
c.version = v.Version
return nil
}
Expand All @@ -229,6 +239,7 @@ func (c UserCommand) MarshalJSON() ([]byte, error) {
NameLocalized: c.nameLocalized,
DefaultMemberPermissions: c.defaultMemberPermissions,
DMPermission: c.dmPermission,
NSFW: c.nsfw,
Version: c.version,
})
}
Expand Down Expand Up @@ -268,6 +279,10 @@ func (c UserCommand) DMPermission() bool {
return c.dmPermission
}

func (c UserCommand) NSFW() bool {
return c.nsfw
}

func (c UserCommand) Version() snowflake.ID {
return c.version
}
Expand All @@ -289,6 +304,7 @@ type MessageCommand struct {
nameLocalized string
defaultMemberPermissions Permissions
dmPermission bool
nsfw bool
version snowflake.ID
}

Expand All @@ -306,6 +322,7 @@ func (c *MessageCommand) UnmarshalJSON(data []byte) error {
c.nameLocalized = v.NameLocalized
c.defaultMemberPermissions = v.DefaultMemberPermissions
c.dmPermission = v.DMPermission
c.nsfw = v.NSFW
c.version = v.Version
return nil
}
Expand All @@ -321,6 +338,7 @@ func (c MessageCommand) MarshalJSON() ([]byte, error) {
NameLocalized: c.nameLocalized,
DefaultMemberPermissions: c.defaultMemberPermissions,
DMPermission: c.dmPermission,
NSFW: c.nsfw,
Version: c.version,
})
}
Expand Down Expand Up @@ -360,6 +378,10 @@ func (c MessageCommand) DMPermission() bool {
return c.dmPermission
}

func (c MessageCommand) NSFW() bool {
return c.nsfw
}

func (c MessageCommand) Version() snowflake.ID {
return c.version
}
Expand Down
3 changes: 3 additions & 0 deletions discord/application_command_create.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ type SlashCommandCreate struct {
Options []ApplicationCommandOption `json:"options,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"` // different behavior for 0 and null, optional
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c SlashCommandCreate) MarshalJSON() ([]byte, error) {
Expand Down Expand Up @@ -45,6 +46,7 @@ type UserCommandCreate struct {
NameLocalizations map[Locale]string `json:"name_localizations,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"`
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c UserCommandCreate) MarshalJSON() ([]byte, error) {
Expand Down Expand Up @@ -73,6 +75,7 @@ type MessageCommandCreate struct {
NameLocalizations map[Locale]string `json:"name_localizations,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"`
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c MessageCommandCreate) MarshalJSON() ([]byte, error) {
Expand Down
2 changes: 2 additions & 0 deletions discord/application_command_raw.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ type rawSlashCommand struct {
Options []ApplicationCommandOption `json:"options,omitempty"`
DefaultMemberPermissions Permissions `json:"default_member_permissions"`
DMPermission bool `json:"dm_permission"`
NSFW bool `json:"nsfw"`
Version snowflake.ID `json:"version"`
}

Expand Down Expand Up @@ -54,5 +55,6 @@ type rawContextCommand struct {
NameLocalized string `json:"name_localized,omitempty"`
DefaultMemberPermissions Permissions `json:"default_member_permissions"`
DMPermission bool `json:"dm_permission"`
NSFW bool `json:"nsfw"`
Version snowflake.ID `json:"version"`
}
3 changes: 3 additions & 0 deletions discord/application_command_update.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ type SlashCommandUpdate struct {
Options *[]ApplicationCommandOption `json:"options,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"`
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c SlashCommandUpdate) MarshalJSON() ([]byte, error) {
Expand Down Expand Up @@ -45,6 +46,7 @@ type UserCommandUpdate struct {
NameLocalizations *map[Locale]string `json:"name_localizations,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"`
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c UserCommandUpdate) MarshalJSON() ([]byte, error) {
Expand Down Expand Up @@ -73,6 +75,7 @@ type MessageCommandUpdate struct {
NameLocalizations *map[Locale]string `json:"name_localizations,omitempty"`
DefaultMemberPermissions *json.Nullable[Permissions] `json:"default_member_permissions,omitempty"`
DMPermission *bool `json:"dm_permission,omitempty"`
NSFW *bool `json:"nsfw,omitempty"`
}

func (c MessageCommandUpdate) MarshalJSON() ([]byte, error) {
Expand Down