From c74d199047825b737cb00ca83360f9d410af6a75 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Sun, 26 Feb 2012 14:15:49 +0100 Subject: Added support for IRC server password --- Hsbot/Config.hs | 1 + Hsbot/Core.hs | 3 +++ Hsbot/Types.hs | 1 + 3 files changed, 5 insertions(+) diff --git a/Hsbot/Config.hs b/Hsbot/Config.hs index b8dad68..4539090 100644 --- a/Hsbot/Config.hs +++ b/Hsbot/Config.hs @@ -16,6 +16,7 @@ defaultConfig = Config , configTLS = noSSL , configAddress = "localhost" , configPort = PortNumber 6667 + , configPassword = Nothing , configAccess = [] , configChannels = ["#hsbot"] , configNicknames = ["hsbot"] diff --git a/Hsbot/Core.hs b/Hsbot/Core.hs index 89f4471..1668f62 100644 --- a/Hsbot/Core.hs +++ b/Hsbot/Core.hs @@ -70,6 +70,9 @@ runHsbot die_msgs = do config = envConfig env nickname = head $ configNicknames config channels = configChannels config + case configPassword config of + Just pass -> liftIO . sendStr env connhdl tlsCtx . IRC.encode $ IRC.Message Nothing "PASS" [pass] + Nothing -> return () liftIO . sendStr env connhdl tlsCtx . IRC.encode $ IRC.nick nickname liftIO . sendStr env connhdl tlsCtx . IRC.encode $ IRC.user nickname hostname "*" (configRealname config) -- Then we join channels diff --git a/Hsbot/Types.hs b/Hsbot/Types.hs index 3201caf..d138402 100644 --- a/Hsbot/Types.hs +++ b/Hsbot/Types.hs @@ -74,6 +74,7 @@ data Config = Config , configTLS :: TLSConfig , configAddress :: String , configPort :: PortID + , configPassword :: Maybe String , configAccess :: [AccessList] , configChannels :: [String] , configNicknames :: [String] -- cgit v1.2.3