diff --git a/discord.go b/discord.go index 9550055..1ec1844 100644 --- a/discord.go +++ b/discord.go @@ -103,12 +103,14 @@ func New(args ...interface{}) (s *Session, err error) { err = s.Open() if err != nil { fmt.Println(err) + return } // Do websocket handshake. err = s.Handshake() if err != nil { fmt.Println(err) + return } // Listen for events. diff --git a/restapi.go b/restapi.go index cca5720..c95eb59 100644 --- a/restapi.go +++ b/restapi.go @@ -674,9 +674,19 @@ func (s *Session) VoiceICE() (st *VoiceICE, err error) { func (s *Session) Gateway() (gateway string, err error) { response, err := s.Request("GET", GATEWAY, nil) + if err != nil { + return + } + + temp := struct { + URL string `json:"url"` + }{} - var temp map[string]interface{} err = json.Unmarshal(response, &temp) - gateway = temp["url"].(string) + if err != nil { + return + } + + gateway = temp.URL return }