Skip to content

Commit

Permalink
Add get activity instance endpoint
Browse files Browse the repository at this point in the history
  • Loading branch information
sebm253 committed Aug 27, 2024
1 parent 0b2d66c commit a979bbb
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 0 deletions.
22 changes: 22 additions & 0 deletions discord/application.go
Original file line number Diff line number Diff line change
Expand Up @@ -277,3 +277,25 @@ type ApplicationIntegrationTypesConfig map[ApplicationIntegrationType]Applicatio
type ApplicationIntegrationTypeConfiguration struct {
OAuth2InstallParams *InstallParams `json:"oauth2_install_params"`
}

type ActivityInstance struct {
ApplicationID snowflake.ID `json:"application_id"`
InstanceID string `json:"instance_id"`
LaunchID snowflake.ID `json:"launch_id"`
Location ActivityLocation `json:"location"`
Users []snowflake.ID `json:"users"`
}

type ActivityLocation struct {
ID string `json:"id"`
Kind ActivityLocationKind `json:"kind"`
ChannelID snowflake.ID `json:"channel_id"`
GuildID *snowflake.ID `json:"guild_id"`
}

type ActivityLocationKind string

const (
ActivityLocationKindGC ActivityLocationKind = "gc"
ActivityLocationKindPC ActivityLocationKind = "pc"
)
7 changes: 7 additions & 0 deletions rest/applications.go
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,8 @@ type Applications interface {
CreateApplicationEmoji(applicationID snowflake.ID, emojiCreate discord.EmojiCreate, opts ...RequestOpt) (*discord.Emoji, error)
UpdateApplicationEmoji(applicationID snowflake.ID, emojiID snowflake.ID, emojiUpdate discord.EmojiUpdate, opts ...RequestOpt) (*discord.Emoji, error)
DeleteApplicationEmoji(applicationID snowflake.ID, emojiID snowflake.ID, opts ...RequestOpt) error

GetActivityInstance(applicationID snowflake.ID, instanceID string, opts ...RequestOpt) (*discord.ActivityInstance, error)
}

type applicationsImpl struct {
Expand Down Expand Up @@ -253,6 +255,11 @@ func (s *applicationsImpl) DeleteApplicationEmoji(applicationID snowflake.ID, em
return s.client.Do(DeleteApplicationEmoji.Compile(nil, applicationID, emojiID), nil, nil, opts...)
}

func (s *applicationsImpl) GetActivityInstance(applicationID snowflake.ID, instanceID string, opts ...RequestOpt) (instance *discord.ActivityInstance, err error) {
err = s.client.Do(GetActivityInstance.Compile(nil, applicationID, instanceID), nil, &instance, opts...)
return
}

func unmarshalApplicationCommandsToApplicationCommands(unmarshalCommands []discord.UnmarshalApplicationCommand) []discord.ApplicationCommand {
commands := make([]discord.ApplicationCommand, len(unmarshalCommands))
for i := range unmarshalCommands {
Expand Down
2 changes: 2 additions & 0 deletions rest/rest_endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,8 @@ var (
CreateApplicationEmoji = NewEndpoint(http.MethodPost, "/applications/{application.id}/emojis")
UpdateApplicationEmoji = NewEndpoint(http.MethodPatch, "/applications/{application.id}/emojis/{emoji.id}")
DeleteApplicationEmoji = NewEndpoint(http.MethodDelete, "/applications/{application.id}/emojis/{emoji.id}")

GetActivityInstance = NewEndpoint(http.MethodGet, "/applications/{application.id}/activity-instances/{instance.id}")
)

// NewEndpoint returns a new Endpoint which requires bot auth with the given http method & route.
Expand Down

0 comments on commit a979bbb

Please sign in to comment.