|
@@ -24,32 +24,12 @@ import (
|
|
|
|
|
|
const VERSION = "0.23.0"
|
|
|
|
|
|
-
|
|
|
-var ErrMFA = errors.New("account has 2FA enabled")
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-func New(args ...interface{}) (s *Session, err error) {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+func New(token string) (s *Session, err error) {
|
|
|
|
|
|
|
|
|
s = &Session{
|
|
@@ -75,87 +55,8 @@ func New(args ...interface{}) (s *Session, err error) {
|
|
|
s.Identify.Properties.OS = runtime.GOOS
|
|
|
s.Identify.Properties.Browser = "DiscordGo v" + VERSION
|
|
|
s.Identify.Intents = MakeIntent(IntentsAllWithoutPrivileged)
|
|
|
-
|
|
|
-
|
|
|
- if args == nil {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- var auth, pass string
|
|
|
-
|
|
|
-
|
|
|
- for _, arg := range args {
|
|
|
-
|
|
|
- switch v := arg.(type) {
|
|
|
-
|
|
|
- case []string:
|
|
|
- if len(v) > 3 {
|
|
|
- err = fmt.Errorf("too many string parameters provided")
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if len(v) > 0 {
|
|
|
- auth = v[0]
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if len(v) > 1 {
|
|
|
- pass = v[1]
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if len(v) > 2 {
|
|
|
- s.Identify.Token = v[2]
|
|
|
- s.Token = v[2]
|
|
|
- }
|
|
|
-
|
|
|
- case string:
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if auth == "" {
|
|
|
- auth = v
|
|
|
- } else if pass == "" {
|
|
|
- pass = v
|
|
|
- } else if s.Token == "" {
|
|
|
- s.Identify.Token = v
|
|
|
- s.Token = v
|
|
|
- } else {
|
|
|
- err = fmt.Errorf("too many string parameters provided")
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- default:
|
|
|
- err = fmt.Errorf("unsupported parameter type provided")
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- if pass == "" {
|
|
|
- s.Identify.Token = auth
|
|
|
- s.Token = auth
|
|
|
- } else {
|
|
|
- err = s.Login(auth, pass)
|
|
|
-
|
|
|
- if err != nil || s.Identify.Token == "" || s.Token == "" {
|
|
|
- if s.MFA {
|
|
|
- err = ErrMFA
|
|
|
- } else {
|
|
|
- err = fmt.Errorf("Unable to fetch discord authentication token. %v", err)
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
- }
|
|
|
+ s.Identify.Token = token
|
|
|
+ s.Token = token
|
|
|
|
|
|
return
|
|
|
}
|