function User(socket) { this.registered = false this.authenticated = false this.nickname = "" this.connection = socket this.realname = "" this.username = "" this.setNickname = function(nickname) { this.nickname = nickname } this.getNickname = function(nickname) { return this.nickname } this.register = function(username, realname) { if (!this.authenticated) { this.connection.destroy() } this.username = username this.realname = realname this.registered = true } this.getAddress = function() { return this.connection.address().address } this.setNickname = function (nickname) { this.nickname = nickname } this.setRealName = function (realname) { this.realname = realname } this.closeConnection = function () { this.connection.destroy() } this.sendMsg = function (from, message) { this.sendRaw(`:${from.nickname} PRIVMSG ${this.nickname} :${message}`, "ascii") } this.sendRaw = function(message) { this.connection.write(`${message}\r\n`, "ascii") } } module.exports = User