equal
deleted
inserted
replaced
32 |
32 |
33 |
33 |
34 handleCmd_lobby :: CmdHandler |
34 handleCmd_lobby :: CmdHandler |
35 |
35 |
36 |
36 |
37 handleCmd_lobby ["LIST"] = return [] |
37 handleCmd_lobby ["LIST"] = do |
|
38 (ci, irnc) <- ask |
|
39 let cl = irnc `client` ci |
|
40 rooms <- allRoomInfos |
|
41 let roomsInfoList = concatMap (\r -> roomInfo (clientProto cl) (maybeNick . liftM (client irnc) $ masterID r) r) . filter (\r -> (roomProto r == clientProto cl)) |
|
42 return $ if hasAskedList cl then [] else |
|
43 [ ModifyClient (\c -> c{hasAskedList = True}) |
|
44 , AnswerClients [sendChan cl] ("ROOMS" : roomsInfoList rooms)] |
38 |
45 |
39 handleCmd_lobby ["CHAT", msg] = do |
46 handleCmd_lobby ["CHAT", msg] = do |
40 n <- clientNick |
47 n <- clientNick |
41 s <- roomOthersChans |
48 s <- roomOthersChans |
42 return [AnswerClients s ["CHAT", n, msg], RegisterEvent LobbyChatMessage] |
49 return [AnswerClients s ["CHAT", n, msg], RegisterEvent LobbyChatMessage] |