1
0
mirror of https://github.com/mgerb/go-discord-bot synced 2026-01-11 17:42:48 +00:00

wip - more oauth work

This commit is contained in:
2018-02-18 16:36:29 -06:00
parent 33c6e8e3fc
commit 79b4fecd3c
6 changed files with 157 additions and 71 deletions

View File

@@ -0,0 +1,60 @@
package discord
import (
"encoding/json"
"io/ioutil"
"net/http"
log "github.com/sirupsen/logrus"
)
// User -
type User struct {
Username string `json:"username"`
Verified bool `json:"verified"`
MFAEnabled bool `json:"mfa_enabled"`
ID string `json:"id"`
Avatar string `json:"avatar"`
Discriminator string `json:"discriminator"`
Email string `json:"email"`
}
// GetUserInfo - get user info
func GetUserInfo(accessToken string) (User, error) {
req, err := http.NewRequest("GET", discordAPI+"/users/@me", nil)
if err != nil {
log.Error(err)
return User{}, err
}
req.Header.Add("Authorization", "Bearer "+accessToken)
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Error(err)
return User{}, err
}
defer resp.Body.Close()
data, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Error(err)
return User{}, err
}
var userInfo User
err = json.Unmarshal(data, &userInfo)
if err != nil {
log.Error(err)
return User{}, err
}
// filter guild based on id
return userInfo, nil
}