Fixed the kickjoin bug

master
Abhinav Sarkar 2014-05-06 03:08:09 +05:30
parent 6a159df001
commit 2f758c1a34
3 changed files with 4 additions and 3 deletions

View File

@ -49,7 +49,7 @@ listen = do
let message = msgFromLine botConfig time (T.pack line)
case message of
JoinMsg { .. } | userNick user == nick -> log "Joined" >> return Joined
KickMsg { .. } -> log "Kicked" >> return Kicked
KickMsg { .. } | kicked == nick -> log "Kicked" >> return Kicked
_ -> do
forkIO $ case message of
Ping { .. } -> sendCommand bot $ Pong msg

View File

@ -19,7 +19,7 @@ msgFromLine (BotConfig { .. }) time line
"JOIN" -> JoinMsg time user
"QUIT" -> QuitMsg time user message
"PART" -> PartMsg time user message
"KICK" -> KickMsg time user kickReason
"KICK" -> KickMsg time user kicked kickReason
"MODE" -> if source == botNick
then ModeMsg time Self target message []
else ModeMsg time user target mode modeArgs
@ -39,6 +39,7 @@ msgFromLine (BotConfig { .. }) time line
user = let u = split (== '!') source in User (u !! 0) (u !! 1)
mode = splits !! 3
modeArgs = L.drop 4 splits
kicked = splits !! 3
kickReason = drop 1 . unwords . L.drop 4 $ splits
lineFromCommand :: BotConfig -> Command -> Text

View File

@ -30,7 +30,7 @@ data Message =
| NickMsg { time :: ClockTime, user :: User, nick :: Text }
| QuitMsg { time :: ClockTime, user :: User, msg :: Text }
| PartMsg { time :: ClockTime, user :: User, msg :: Text }
| KickMsg { time :: ClockTime, user :: User, msg :: Text }
| KickMsg { time :: ClockTime, user :: User, kicked :: Text , msg :: Text }
| OtherMsg { time :: ClockTime, source :: Text, command :: Text , target :: Text, msg :: Text }
deriving (Show, Eq)