Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Text.Printf
- import Network
- import System.IO
- main :: IO ()
- main = do
- h <- connectTo "irc.rizon.net" (PortNumber 6667)
- hSetBuffering h NoBuffering
- hPrintf h $ ircUser "ugherman" "hew hew ultra"
- hPrintf h $ ircNick "ugherman"
- hPrintf h $ ircJoin "#channel147"
- hPrintf h $ ircPrivmsg "#channel147" "Hey, nice ass"
- hFlush h
- botLoop h
- botLoop :: Handle -> IO ()
- botLoop h = do
- hGetChar h >>= putChar
- botLoop h
- ircCommand :: String -> [String] -> String
- ircCommand command arguments = command ++ " " ++ (ircArgList arguments) ++ "\r\n"
- where
- ircArgList :: [String] -> String
- ircArgList (argHead:[]) = ":" ++ argHead
- ircArgList (argHead:argTail) = argHead ++ " " ++ ircArgList argTail
- ircPass :: String -> String
- ircPass password = ircCommand "PASS" [password]
- ircUser :: String -> String -> String
- ircUser username realname = ircCommand "USER" [username,".",".",realname]
- ircNick :: String -> String
- ircNick nickname = ircCommand "NICK" [nickname]
- ircJoin :: String -> String
- ircJoin channel = ircCommand "JOIN" [channel]
- ircPrivmsg :: String -> String -> String
- ircPrivmsg target message = ircCommand "PRIVMSG" [target,message]
Add Comment
Please, Sign In to add comment