diff options
-rw-r--r-- | sorbot.cabal | 3 | ||||
-rw-r--r-- | src/Lib.hs | 41 |
2 files changed, 32 insertions, 12 deletions
diff --git a/sorbot.cabal b/sorbot.cabal index ba34ed4..8b29113 100644 --- a/sorbot.cabal +++ b/sorbot.cabal @@ -21,8 +21,11 @@ library , Plugin.Base , Plugin.GitHubCommit build-depends: base >= 4.7 && < 5 + , bytestring + , irc-client , regex-tdfa , sqlite-simple + , text default-language: Haskell2010 executable sorbot-exe @@ -1,23 +1,40 @@ +{-# LANGUAGE OverloadedStrings #-} + module Lib ( someFunc ) where +import qualified Data.ByteString as B +import qualified Data.Text as T + import Database.SQLite.Simple +import Network.IRC.Client import Message import Plugin someFunc :: IO () someFunc = do - let message = Message - { text = "75ac7b18a009ffe7a77a17a61d95c01395f36b44" - , channel = "#a-channel" - , nick = "anon" - } - Just plugin = matchPlugin message - dbConn <- open "db/sorbot_development.sqlite3" - response <- performPlugin plugin message dbConn - putStrLn $ case response of - Left e -> e - Right r -> r - close dbConn + connectIRC "irc.freenode.net" 6697 "test-bot-7890asdf" + -- let message = Message + -- { text = "75ac7b18a009ffe7a77a17a61d95c01395f36b44" + -- , channel = "#a-channel" + -- , nick = "anon" + -- } + -- Just plugin = matchPlugin message + -- dbConn <- open "db/sorbot_development.sqlite3" + -- response <- performPlugin plugin message dbConn + -- putStrLn $ case response of + -- Left e -> e + -- Right r -> r + -- close dbConn + +connectIRC :: B.ByteString -> Int -> T.Text -> IO () +connectIRC host port nick = do + conn <- connectWithTLS host port 1 + let cfg = defaultIRCConf nick + -- let cfg' = cfg { _eventHandlers = yourCustomEventHandlers : _eventHandlers cfg } + let cfg' = cfg { + _channels = ["#test-chan-13513"] + } + start conn cfg' |