Commit ad6f64c9 authored by Mart Lubbers's avatar Mart Lubbers

add stdout logging

parent e81450dc
......@@ -97,7 +97,7 @@ instance toInt IRCReplies, IRCErrors
RPL_ENDOFBANLIST | RPL_ENDOFWHOWAS | RPL_INFO | RPL_MOTD | RPL_ENDOFINFO |
RPL_MOTDSTART | RPL_ENDOFMOTD | RPL_YOUREOPER | RPL_REHASHING |
RPL_YOURESERVICE | RPL_TIME | RPL_USERSSTART | RPL_USERS | RPL_ENDOFUSERS |
RPL_NOUSERS
RPL_NOUSERS | RPL_UNKNOWN
:: IRCErrors = ERR_NOSUCHNICK | ERR_NOSUCHSERVER | ERR_NOSUCHCHANNEL |
ERR_CANNOTSENDTOCHAN | ERR_TOOMANYCHANNELS | ERR_WASNOSUCHNICK |
......@@ -115,4 +115,4 @@ instance toInt IRCReplies, IRCErrors
ERR_NOCHANMODES | ERR_BANLISTFULL | ERR_NOPRIVILEGES |
ERR_CHANOPRIVSNEEDED | ERR_CANTKILLSERVER | ERR_RESTRICTED |
ERR_UNIQOPPRIVSNEEDED | ERR_NOOPERHOST | ERR_UMODEUNKNOWNFLAG |
ERR_USERSDONTMATCH
ERR_USERSDONTMATCH | ERR_UNKNOWN
This diff is collapsed.
......@@ -33,6 +33,8 @@ import TCPIP
import IRC
import IRCBot
import StdMisc, StdDebug
shorten :: String *World -> (String, *World)
shorten s w
# s = if (startsWith "http://" s) s (if (startsWith "https://" s) s ("http://" + s))
......@@ -107,6 +109,7 @@ Start :: *World -> (Maybe String, *World)
Start w
# ([arg0:args], w) = getCommandLine w
# (io, w) = stdio w
# io = io <<< "\n"
# bs = parseCLI args
//| isError bs = (Just $ "\n" +++ fromError bs +++ "\n", snd $ fclose io w)
# (Ok bs) = bs
......@@ -166,20 +169,20 @@ Start w
process :: String !IRCMessage *File !*World -> (Maybe [IRCMessage], *File, !*World)
process strf im io w
# (io, w) = log strf " (r): " im (io, w)
#! (io, w) = log strf " (r): " im (io, w)
= case im.irc_command of
Left numr = (Just [], io, w)
Right cmd = case process` im.irc_prefix cmd w of
(Nothing, w) = (Nothing, io, w)
(Just cs, w)
# msgs = map toPrefix cs
# (io, w) = foldr (log strf " (s): ") (io, w) msgs
#! (io, w) = foldr (log strf " (s): ") (io, w) msgs
= (Just msgs, io, w)
log :: String String IRCMessage (*File, *World) -> (*File, *World)
log strf pref m (io, w) = (io, w)
// # (t, w) = localTime w
// = (io <<< strfTime strf t <<< pref <<< toString m, w)
log :: String String IRCMessage (!*File, !*World) -> (!*File, !*World)
log strf pref m (io, w)
#! (t, w) = localTime w
= (io <<< strfTime strf t <<< pref <<< toString m, w)
process` :: (Maybe (Either IRCUser String)) IRCCommand *World -> (Maybe [IRCCommand], *World)
process` (Just (Left user)) (PRIVMSG t m) w
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment