-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapplication.go
64 lines (55 loc) · 2.26 KB
/
application.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package objects
//go:generate stringer -type=ApplicationFlag,TeamMembershipState -output application_string.go
var _ SnowflakeObject = (*Application)(nil)
var _ SnowflakeObject = (*Team)(nil)
type ApplicationFlag int
const (
ApplicationFlagGatewayPresence ApplicationFlag = 1 << (iota + 12)
ApplicationFlagGatewayPresenceLimited
ApplicationFlagGatewayGuildMembers
ApplicationFlagGatewayGuildMembersLimited
ApplicationFlagVerificationPendingGuildLimit
ApplicationFlagEmbedded
ApplicationFlagMessageContent
ApplicationFlagMessageContentLimited
)
// A Discord API Application object.
// https://discord.com/developers/docs/resources/application#application-object-application-structure
type Application struct {
DiscordBaseObject
Name string `json:"name"`
Icon string `json:"icon"`
Description string `json:"description"`
RPCOrigins []string `json:"rpc_origins"`
BotPublic bool `json:"bot_public"`
BotRequireCodeGrant bool `json:"bot_require_code_grant"`
TermsOfServiceURL string `json:"terms_of_service_url"`
PrivacyPolicyURL string `json:"privacy_policy_url"`
Owner *User `json:"owner"`
Summary string `json:"summary"`
VerifyKey string `json:"verify_key"`
Team *Team `json:"team"`
GuildID Snowflake `json:"guild_id"`
PrimarySKUID Snowflake `json:"primary_sku_id"`
Slug string `json:"slug"`
CoverImage string `json:"cover_image"`
Flags ApplicationFlag `json:"flags"`
}
type TeamMembershipState int
const (
TeamMembershipStateInvited TeamMembershipState = iota + 1
TeamMembershipStateAccepted
)
type Team struct {
DiscordBaseObject
Icon string `json:"icon"`
Members []*TeamMember `json:"members"`
Name string `json:"name"`
OwnerUserID Snowflake `json:"owner_user_id"`
}
type TeamMember struct {
MembershipState TeamMembershipState `json:"membership_state"`
Permissions []string `json:"permissions"`
TeamID Snowflake `json:"team_id"`
User *User `json:"user"`
}