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.1 KiB
49 lines
1.1 KiB
function User(socket, authenticatedDefault) {
|
|
this.registered = false
|
|
this.authenticated = authenticatedDefault
|
|
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, to = this.nickname) {
|
|
this.sendRaw(`:${from.nickname} PRIVMSG ${to} :${message}`, "ascii")
|
|
}
|
|
this.sendRaw = function(message) {
|
|
this.connection.write(`${message}\r\n`, "ascii")
|
|
}
|
|
}
|
|
|
|
module.exports = User
|