actually print the tcl results, remove dumb flood limit
This commit is contained in:
parent
ee2859d4a1
commit
80455d20ec
@ -17,7 +17,7 @@ import Control.Lens
|
|||||||
import Control.Concurrent(threadDelay,forkIO)
|
import Control.Concurrent(threadDelay,forkIO)
|
||||||
import qualified Data.Text as T
|
import qualified Data.Text as T
|
||||||
import Control.Concurrent.STM
|
import Control.Concurrent.STM
|
||||||
import Control.Monad(liftM)
|
import Control.Monad(liftM,forever)
|
||||||
import Data.Monoid
|
import Data.Monoid
|
||||||
import qualified Data.Map as M
|
import qualified Data.Map as M
|
||||||
import Data.ByteString(ByteString)
|
import Data.ByteString(ByteString)
|
||||||
@ -175,11 +175,22 @@ initPlugin mh = do
|
|||||||
}
|
}
|
||||||
|
|
||||||
detectCommandHandler' = detectCommandHandler mh
|
detectCommandHandler' = detectCommandHandler mh
|
||||||
conn = tlsConnection $ WithClientConfig myClientConfig
|
conn = (tlsConnection $ WithClientConfig myClientConfig) & flood .~ 0
|
||||||
myNNS <- atomically $ newTMVar M.empty
|
myNNS <- atomically $ newTMVar M.empty
|
||||||
let namesReplyHandler' = namesReplyHandler mh myNNS
|
let namesReplyHandler' = namesReplyHandler mh myNNS
|
||||||
rejoinOnKickHandler = fYourKickHandler myNNS
|
rejoinOnKickHandler = fYourKickHandler myNNS
|
||||||
mySpecialHandlers = [rejoinOnKickHandler,detectCommandHandler',joinHandler',namesReplyHandler',otherJoinHandler,otherPartHandler]
|
mySpecialHandlers = [rejoinOnKickHandler,detectCommandHandler',joinHandler',namesReplyHandler',otherJoinHandler,otherPartHandler]
|
||||||
cfg = defaultInstanceConfig myNickname & channels %~ (myChannels ++) & handlers %~ (++ mySpecialHandlers)
|
cfg = defaultInstanceConfig myNickname & channels %~ (myChannels ++) & handlers %~ (++ mySpecialHandlers)
|
||||||
forkIO $ runClient conn cfg ()
|
myIRCState <- newIRCState conn cfg ()
|
||||||
|
forkIO $ runClientWith myIRCState
|
||||||
|
forkIO $ acceptExternalComms myIRCState mh
|
||||||
return GoodInitStatus
|
return GoodInitStatus
|
||||||
|
|
||||||
|
acceptExternalComms myIRCState manhole =
|
||||||
|
let inspectManhole = atomically . readTChan . getInputChan
|
||||||
|
regift g = atomically . (flip writeTChan g) . getOutputChan in
|
||||||
|
forever $ do
|
||||||
|
newGift <- liftIO $ inspectManhole manhole
|
||||||
|
runIRCAction (mapM (\fff -> send $ Privmsg "#exquisitebot" $ Right fff) (nlSplit $ getSewage newGift)) myIRCState
|
||||||
|
|
||||||
|
nlSplit = T.splitOn "\n"
|
||||||
|
@ -68,7 +68,7 @@ lookupManholeInSewer s p = do
|
|||||||
|
|
||||||
corePlugName :: T.Text
|
corePlugName :: T.Text
|
||||||
corePlugName = "core"
|
corePlugName = "core"
|
||||||
|
mySignature = GenericStyleAutor corePlugName "local" "local"
|
||||||
|
|
||||||
isIOPlugin :: Sewage -> TMVar IOPIDS -> IO Bool
|
isIOPlugin :: Sewage -> TMVar IOPIDS -> IO Bool
|
||||||
isIOPlugin sewage iopids = let pname = (hash . getName .nsAutorToGenericAutor . getSewageAutor $ sewage)
|
isIOPlugin sewage iopids = let pname = (hash . getName .nsAutorToGenericAutor . getSewageAutor $ sewage)
|
||||||
@ -90,7 +90,11 @@ runForever s cmap iopids =
|
|||||||
amIIO <- isIOPlugin someGarbage iopids
|
amIIO <- isIOPlugin someGarbage iopids
|
||||||
if (amIIO) then
|
if (amIIO) then
|
||||||
trySendToWorker s someGarbage cmap
|
trySendToWorker s someGarbage cmap
|
||||||
else return ()
|
else do
|
||||||
|
pm <- atomically $ lookupManholeInSewer s "IRC-Simple"
|
||||||
|
case pm of
|
||||||
|
Just pm -> regiftToWorker someGarbage pm
|
||||||
|
Nothing -> return ()
|
||||||
putStrLn $ T.pack theAutor ++ " sez:"
|
putStrLn $ T.pack theAutor ++ " sez:"
|
||||||
putStrLn $ theSewage
|
putStrLn $ theSewage
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user