session.go 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /******************************************************************************
  2. * A Discord API for Golang.
  3. */
  4. package discordgo
  5. import "github.com/gorilla/websocket"
  6. // A Session represents a connection to the Discord REST API.
  7. // Token : The authentication token returned from Discord
  8. // Debug : If set to ture debug logging will be displayed.
  9. type Session struct {
  10. Token string
  11. Gateway string
  12. Debug bool
  13. Websocket *websocket.Conn
  14. }
  15. /******************************************************************************
  16. * The below functions are "shortcut" methods for functions in client.go
  17. * Reference the client.go file for more documentation.
  18. */
  19. func (session *Session) Login(email string, password string) (token string, err error) {
  20. token, err = Login(session, email, password)
  21. return
  22. }
  23. func (session *Session) Self() (user User, err error) {
  24. user, err = Users(session, "@me")
  25. return
  26. }
  27. func (session *Session) PrivateChannels() (channels []Channel, err error) {
  28. channels, err = PrivateChannels(session, "@me")
  29. return
  30. }
  31. func (session *Session) Servers() (servers []Server, err error) {
  32. servers, err = Servers(session, "@me")
  33. return
  34. }
  35. // Logout ends a session and logs out from the Discord REST API.
  36. func (session *Session) Logout() (err error) {
  37. err = Logout(session)
  38. return
  39. }