diff options
Diffstat (limited to 'Hsbot')
-rw-r--r-- | Hsbot/Config.hs | 1 | ||||
-rw-r--r-- | Hsbot/Core.hs | 3 | ||||
-rw-r--r-- | Hsbot/Types.hs | 1 |
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] |