equal
deleted
inserted
replaced
4 import qualified Data.Foldable as Foldable |
4 import qualified Data.Foldable as Foldable |
5 import qualified Data.Map as Map |
5 import qualified Data.Map as Map |
6 import Data.Sequence(Seq, (|>), (><), fromList, empty) |
6 import Data.Sequence(Seq, (|>), (><), fromList, empty) |
7 import Data.List |
7 import Data.List |
8 import Maybe |
8 import Maybe |
|
9 import qualified Data.ByteString.Char8 as B |
9 -------------------------------------- |
10 -------------------------------------- |
10 import CoreTypes |
11 import CoreTypes |
11 import Actions |
12 import Actions |
12 import Utils |
13 import Utils |
13 import HandlerUtils |
14 import HandlerUtils |
18 handleCmd_inRoom ["CHAT", msg] = do |
19 handleCmd_inRoom ["CHAT", msg] = do |
19 n <- clientNick |
20 n <- clientNick |
20 s <- roomOthersChans |
21 s <- roomOthersChans |
21 return [AnswerClients s ["CHAT", n, msg]] |
22 return [AnswerClients s ["CHAT", n, msg]] |
22 |
23 |
|
24 handleCmd_inRoom ["PART"] = return [MoveToLobby "part"] |
|
25 handleCmd_inRoom ["PART", msg] = return [MoveToLobby $ "part: " `B.append` msg] |
|
26 |
23 {- |
27 {- |
24 handleCmd_inRoom clID clients rooms ["PART"] = |
|
25 [RoomRemoveThisClient "part"] |
|
26 where |
|
27 client = clients IntMap.! clID |
|
28 |
|
29 |
28 |
30 handleCmd_inRoom clID clients rooms ("CFG" : paramName : paramStrs) |
29 handleCmd_inRoom clID clients rooms ("CFG" : paramName : paramStrs) |
31 | null paramStrs = [ProtocolError "Empty config entry"] |
30 | null paramStrs = [ProtocolError "Empty config entry"] |
32 | isMaster client = |
31 | isMaster client = |
33 [ModifyRoom (\r -> r{params = Map.insert paramName paramStrs (params r)}), |
32 [ModifyRoom (\r -> r{params = Map.insert paramName paramStrs (params r)}), |
192 handleCmd_inRoom clID clients _ ["TEAMCHAT", msg] = |
191 handleCmd_inRoom clID clients _ ["TEAMCHAT", msg] = |
193 [AnswerSameClan ["EM", engineMsg]] |
192 [AnswerSameClan ["EM", engineMsg]] |
194 where |
193 where |
195 client = clients IntMap.! clID |
194 client = clients IntMap.! clID |
196 engineMsg = toEngineMsg $ 'b' : ((nick client) ++ "(team): " ++ msg ++ "\x20\x20") |
195 engineMsg = toEngineMsg $ 'b' : ((nick client) ++ "(team): " ++ msg ++ "\x20\x20") |
197 |
|
198 handleCmd_inRoom clID _ _ _ = [ProtocolError "Incorrect command (state: in room)"] |
|
199 -} |
196 -} |
|
197 handleCmd_inRoom _ = return [ProtocolError "Incorrect command (state: in room)"] |