admin.go 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. package main
  2. import (
  3. "fmt"
  4. "strings"
  5. )
  6. //
  7. func admin(line string) (response string) {
  8. var err error
  9. // trim any leading or trailing space off the whole line
  10. line = strings.TrimSpace(line)
  11. // split the command from the rest
  12. split := strings.SplitN(line, " ", 2)
  13. // store the command and payload seperately
  14. command := strings.ToLower(split[0])
  15. command = strings.TrimPrefix(command, "~")
  16. var payload string = ""
  17. if len(split) > 1 {
  18. payload = split[1]
  19. }
  20. if command == "help" {
  21. response += fmt.Sprintln("`~help ...............` Display this help text")
  22. response += fmt.Sprintln("`~username [string]...` Set login username to [string]")
  23. response += fmt.Sprintln("`~password [string]...` Set login password to [string]")
  24. response += fmt.Sprintln("`~login ..............` Login to Discord")
  25. response += fmt.Sprintln("`~listen .............` Start websocket listener")
  26. response += fmt.Sprintln("`~logout .............` Logout from Discord")
  27. return
  28. }
  29. if command == "username" {
  30. Username = payload
  31. response += "Done."
  32. return
  33. }
  34. if command == "password" {
  35. Password = payload
  36. response += "Done."
  37. return
  38. }
  39. if command == "login" {
  40. Session.Token, err = Session.Login(Username, Password)
  41. if err != nil {
  42. fmt.Println("Unable to login to Discord.")
  43. fmt.Println(err)
  44. }
  45. response += "Done."
  46. return
  47. }
  48. if command == "listen" {
  49. // open connection
  50. err = Session.Open()
  51. if err != nil {
  52. fmt.Println(err)
  53. }
  54. // Do Handshake? (dumb name)
  55. err = Session.Handshake()
  56. if err != nil {
  57. fmt.Println(err)
  58. }
  59. // Now listen for events / messages
  60. go Session.Listen()
  61. response += "Done."
  62. return
  63. }
  64. if command == "logout" {
  65. err = Session.Logout()
  66. if err != nil {
  67. fmt.Println("Unable to logout from Discord.")
  68. fmt.Println(err)
  69. }
  70. response += "Done."
  71. return
  72. }
  73. response += "I'm sorry I don't understand that command. Try ~help"
  74. return
  75. }