session.go 1.3 KB

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