Browse Source

Make intents optional field

Łukasz Horonziak 4 years ago
parent
commit
57c962912e
2 changed files with 5 additions and 3 deletions
  1. 0 1
      discord.go
  2. 5 2
      structs.go

+ 0 - 1
discord.go

@@ -74,7 +74,6 @@ func New(args ...interface{}) (s *Session, err error) {
 	s.Identify.GuildSubscriptions = true
 	s.Identify.Properties.OS = runtime.GOOS
 	s.Identify.Properties.Browser = "DiscordGo v" + VERSION
-	s.Identify.Intents = IntentsAllWithoutPrivileged
 
 	// If no arguments are passed return the empty Session interface.
 	if args == nil {

+ 5 - 2
structs.go

@@ -959,7 +959,7 @@ type Identify struct {
 	Shard              *[2]int             `json:"shard,omitempty"`
 	Presence           GatewayStatusUpdate `json:"presence,omitempty"`
 	GuildSubscriptions bool                `json:"guild_subscriptions"`
-	Intents            int                 `json:"intents"`
+	Intents            *Intent             `json:"intents,omitempty"`
 }
 
 // IdentifyProperties contains the "properties" portion of an Identify packet
@@ -1104,8 +1104,10 @@ const (
 	ErrCodeReactionBlocked = 90001
 )
 
+type Intent int
+
 const (
-	IntentsGuilds = 1 << iota
+	IntentsGuilds Intent = 1 << iota
 	IntentsGuildMembers
 	IntentsGuildBans
 	IntentsGuildEmojis
@@ -1137,4 +1139,5 @@ const (
 	IntentsAll = IntentsAllWithoutPrivileged |
 		IntentsGuildMembers |
 		IntentsGuildPresences
+    IntentsNone Intent = 0
 )