summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Hsbot/Config.hs1
-rw-r--r--Hsbot/Core.hs3
-rw-r--r--Hsbot/Types.hs1
3 files changed, 5 insertions, 0 deletions
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]