Archived
1
0
Fork 0

Wrote a dynamic compilation stuff that works (unable to test reboot yet)

This commit is contained in:
Julien Dessaux 2009-08-05 01:01:47 +02:00
parent ea607ba1b1
commit 1f6c64749d
7 changed files with 183 additions and 0 deletions

34
Hsbot/IRC.hs Normal file
View file

@ -0,0 +1,34 @@
module Hsbot.IRC
( IrcInput(..)
, IrcOutput(..)
, parseIrcMsg
)where
import qualified Network.IRC as Irc
import System.IO (Handle)
import Hsbot.Core
type User = String
type Channel = String
type Command = String
type Args = [String]
-- | Information from IRC
data IrcInput = Cmd User Channel (Command, Maybe String) -- a regular command
| Line User Channel String -- a normal line of little significance
| Err String -- an error occured in parsing
deriving (Eq,Show)
-- | Data that can go over the remote channel
data IrcOutput = Str String -- a regular string
| Quit (Server, Handle) -- a quit message from a server
| Join (Server, Channel) -- joined a channel
| Part (Server, Channel) -- parted the channel
| Reboot -- reboot message sent
| Nil -- signifies thread death, only happens after reboot
deriving (Eq,Show)
parseIrcMsg :: String -> IrcInput
parseIrcMsg _ = Err "Parsing not yet implemented"