summaryrefslogtreecommitdiff
path: root/server/ws.js
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2015-08-06 16:54:40 -0400
committerJules Laplace <jules@okfoc.us>2015-08-06 16:54:40 -0400
commit6276fd8df4a0faa37b92496a6f47a35ba8312de6 (patch)
tree0ecb1313fedaf475790574980f512de390174072 /server/ws.js
parent277e73e9d7e118b5cc1bd5888eb502b3d7380ec8 (diff)
store settings state
Diffstat (limited to 'server/ws.js')
-rw-r--r--server/ws.js25
1 files changed, 17 insertions, 8 deletions
diff --git a/server/ws.js b/server/ws.js
index 92c7d5a..67f5f60 100644
--- a/server/ws.js
+++ b/server/ws.js
@@ -11,7 +11,8 @@ ws.listen = function(app){
ws.add = function(name){
if (name in rooms) { return }
var room = rooms[name] = {}
- var messages = room.messages = []
+ room.messages = []
+ room.settings = {}
room.users = {}
sockets = {}
console.log("new room >> " + name)
@@ -24,26 +25,34 @@ ws.add = function(name){
socket.on('join', function(data){
nick = data.nick
+ console.log("join >> " + nick)
if (sockets[nick]) {
// already connected?
sockets[nick].disconnect()
- sockets[nick] = socket
- room.users[nick] = true
- socket.emit("welcome", room)
- ns.emit('joined', data)
}
+ sockets[nick] = socket
+ room.users[nick] = true
+ socket.emit("welcome", room)
+ ns.emit('joined', data)
})
socket.on('message', function(data){
- if (messages.length > 20) { messages.shift() }
- messages.push(data)
+ if (room.messages.length > 20) { room.messages.shift() }
+ room.messages.push(data)
ns.emit('message', data)
})
+ socket.on('settings', function(data){
+ Object.keys(data).forEach(function(key){
+ room.settings[key] = data[key]
+ })
+ ns.emit('settings', data)
+ })
+
socket.on('disconnect', function(){
delete sockets[nick]
delete room.users[nick]
- ns.emit('parted', {nick:nick})
+ ns.emit('parted', {nick: nick})
})
})