summaryrefslogtreecommitdiff
path: root/Hsbot/IRC.hs
diff options
context:
space:
mode:
Diffstat (limited to 'Hsbot/IRC.hs')
-rw-r--r--Hsbot/IRC.hs45
1 files changed, 0 insertions, 45 deletions
diff --git a/Hsbot/IRC.hs b/Hsbot/IRC.hs
deleted file mode 100644
index 4a0e5f8..0000000
--- a/Hsbot/IRC.hs
+++ /dev/null
@@ -1,45 +0,0 @@
-module Hsbot.IRC
- ( initServer
- , runServer
- ) where
-
-import Control.Concurrent.Chan
-import Control.Monad.State
-
-import Hsbot.Command
-import Hsbot.IRCParser
-import Hsbot.Types
-import Hsbot.Utils
-
--- | Setup a newly connected server by sending nick and join stuff
-initServer :: IrcBot ()
-initServer = do
- server <- gets serverConfig
- sendstr . serializeIrcMsg $ IrcMsg Nothing "NICK" [(nickname server)]
- sendstr . serializeIrcMsg $ IrcMsg Nothing "USER" [(nickname server), "0", "*", (realname server)]
- when (not . null $ password server) $ do
- sendstr . serializeIrcMsg $ IrcMsg Nothing "PRIVMSG" ["nickserv", "identify", (password server)]
- mapM_ joinChan (joinChannels server)
-
--- | Run a server
-runServer :: IrcBot ()
-runServer = forever $ do
- chan <- gets botChannel
- let input = readChan chan
- msg <- liftIO input
- case msg of
- InputMsg inputMsg -> dispatchMessage $ InputMsg inputMsg
- OutputMsg outputMsg -> sendstr (serializeIrcMsg outputMsg)
- InternalCmd internalCmd -> processInternalCommand $ InternalCmd internalCmd
-
--- | Joins a chan
-joinChan :: String -> IrcBot ()
-joinChan name = do
- bot <- get
- let oldChannels = chans bot
- newChannel = Channel name
- (nickname $ serverConfig bot)
- (administrators $ serverConfig bot)
- sendstr . serializeIrcMsg $ IrcMsg Nothing "JOIN" [name]
- put $ bot { chans = newChannel : oldChannels }
-