actually print the tcl results, remove dumb flood limit

This commit is contained in:
Jon Doe 2020-09-26 22:39:52 +02:00 committed by Maciej Bonin
parent ee2859d4a1
commit 80455d20ec
2 changed files with 20 additions and 5 deletions

View File

@ -17,7 +17,7 @@ import Control.Lens
import Control.Concurrent(threadDelay,forkIO)
import qualified Data.Text as T
import Control.Concurrent.STM
import Control.Monad(liftM)
import Control.Monad(liftM,forever)
import Data.Monoid
import qualified Data.Map as M
import Data.ByteString(ByteString)
@ -175,11 +175,22 @@ initPlugin mh = do
}
detectCommandHandler' = detectCommandHandler mh
conn = tlsConnection $ WithClientConfig myClientConfig
conn = (tlsConnection $ WithClientConfig myClientConfig) & flood .~ 0
myNNS <- atomically $ newTMVar M.empty
let namesReplyHandler' = namesReplyHandler mh myNNS
rejoinOnKickHandler = fYourKickHandler myNNS
mySpecialHandlers = [rejoinOnKickHandler,detectCommandHandler',joinHandler',namesReplyHandler',otherJoinHandler,otherPartHandler]
cfg = defaultInstanceConfig myNickname & channels %~ (myChannels ++) & handlers %~ (++ mySpecialHandlers)
forkIO $ runClient conn cfg ()
myIRCState <- newIRCState conn cfg ()
forkIO $ runClientWith myIRCState
forkIO $ acceptExternalComms myIRCState mh
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"

View File

@ -68,7 +68,7 @@ lookupManholeInSewer s p = do
corePlugName :: T.Text
corePlugName = "core"
mySignature = GenericStyleAutor corePlugName "local" "local"
isIOPlugin :: Sewage -> TMVar IOPIDS -> IO Bool
isIOPlugin sewage iopids = let pname = (hash . getName .nsAutorToGenericAutor . getSewageAutor $ sewage)
@ -90,7 +90,11 @@ runForever s cmap iopids =
amIIO <- isIOPlugin someGarbage iopids
if (amIIO) then
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 $ theSewage