You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

49 lines
1.0 KiB

  1. function User(socket) {
  2. this.registered = false
  3. this.nickname = ""
  4. this.connection = socket
  5. this.realname = ""
  6. this.username = ""
  7. this.setNickname = function(nickname) {
  8. this.nickname = nickname
  9. }
  10. this.getNickname = function(nickname) {
  11. return this.nickname
  12. }
  13. this.register = function(username, realname) {
  14. this.username = username
  15. this.realname = realname
  16. this.registered = true
  17. }
  18. this.getAddress = function() {
  19. return this.connection.address().address
  20. }
  21. this.setNickname = function (nickname) {
  22. this.nickname = nickname
  23. }
  24. this.setRealName = function (realname) {
  25. this.realname = realname
  26. }
  27. this.quit = function (quit_message) {
  28. if (quit_message === undefined)
  29. this.sendMessage("QUIT")
  30. else this.sendMessage(("QUIT :" + quit_message))
  31. }
  32. this.closeConnection = function () {
  33. socket.close()
  34. }
  35. this.sendMessage = function (message) {
  36. connection.write(message)
  37. }
  38. }
  39. module.exports = User