diff options
author | Julien Dessaux | 2011-09-10 00:14:08 +0200 |
---|---|---|
committer | Julien Dessaux | 2011-09-10 00:14:08 +0200 |
commit | 0384f046ae1a3369921d027c3f16346e02feb5e6 (patch) | |
tree | cd72d4c311b7e171b6f656bae52616f9d95ce90b | |
parent | Added the getChannel helper. (diff) | |
download | hsbot-0384f046ae1a3369921d027c3f16346e02feb5e6.tar.gz hsbot-0384f046ae1a3369921d027c3f16346e02feb5e6.tar.bz2 hsbot-0384f046ae1a3369921d027c3f16346e02feb5e6.zip |
Cosmetics.
-rw-r--r-- | Hsbot/Plugin/Quote.hs | 38 | ||||
-rw-r--r-- | Hsbot/Utils.hs | 2 |
2 files changed, 20 insertions, 20 deletions
diff --git a/Hsbot/Plugin/Quote.hs b/Hsbot/Plugin/Quote.hs index 92a4b13..ddc9789 100644 --- a/Hsbot/Plugin/Quote.hs +++ b/Hsbot/Plugin/Quote.hs @@ -1,21 +1,21 @@ {-# LANGUAGE TypeFamilies, DeriveDataTypeable, TemplateHaskell #-} -- | This module is an IRC plugin that manages quotes for posterity and legend module Hsbot.Plugin.Quote --- ( quote --- , theQuote - () where + ( quote + , theQuote + ) where import Control.Monad.Reader import Control.Monad.State import Data.Acid +import qualified Data.Map as M import Data.SafeCopy import Data.Time import Data.Time.Clock.POSIX import Data.Typeable -import System.Random -import qualified Data.Map as M import qualified Network.IRC as IRC import System.Environment.XDG.BaseDir +import System.Random import Hsbot.Message import Hsbot.Types @@ -64,7 +64,7 @@ $(deriveSafeCopy 0 'base ''QuoteDB) -- | Quote database transactions getQuote :: QuoteID -> Query QuoteDB (Maybe Quote) -getQuote quoteId = asks quoteBotDB >>= return . M.lookup quoteId +getQuote quoteId = fmap (M.lookup quoteId) (asks quoteBotDB) getQuoteDB :: Query QuoteDB (M.Map QuoteID Quote) getQuoteDB = asks quoteBotDB @@ -73,10 +73,10 @@ getQuoteDB = asks quoteBotDB isQuoteLockedFor :: QuoteID -> IRC.UserName -> UTCTime -> Query QuoteDB (Either String Bool) isQuoteLockedFor quoteId requestor now = do - theQuote <- asks quoteBotDB >>= return . M.lookup quoteId + theQuote <- fmap (M.lookup quoteId) (asks quoteBotDB) case theQuote of Just quote -> do - currentLock <- asks lockedQuotes >>= return . M.lookup quoteId + currentLock <- fmap (M.lookup quoteId) (asks lockedQuotes) case currentLock of Just (owner, lockStamp) -> if owner == requestor @@ -119,27 +119,27 @@ theQuote = do "quote":"help":"append":_ -> answerMsg msg "quote append QUOTEID QUOTEE QUOTE" "quote":"help":"delete":_ -> do answerMsg msg "quote delete QUOTEID [ELTID] :" - answerMsg msg $ concat [ " If an ELTID is provided, deletes the ELTID's line (starting from zero) " - , "in the quote QUOTEID. If not the whole quote is deleted." ] + answerMsg msg $ " If an ELTID is provided, deletes the ELTID's line (starting from zero) " + ++ "in the quote QUOTEID. If not the whole quote is deleted." "quote":"help":"quick":_ -> do answerMsg msg "quote [quick] QUOTEE [QUOTE] :" - answerMsg msg $ concat [ " Begins a quote for QUOTEE. You must provide the keywork quick if the " - , "QUOTEE's nickname is a reserved word for this quote module. If no QUOTE is " - , "provided this module lookup it's conversation history and records the " - , "last sentence of QUOTEE." ] + answerMsg msg $ " Begins a quote for QUOTEE. You must provide the keywork quick if the " + ++ "QUOTEE's nickname is a reserved word for this quote module. If no QUOTE is " + ++ "provided this module lookup it's conversation history and records the " + ++ "last sentence of QUOTEE." "quote":"help":"show":_ -> answerMsg msg "quote show { QUOTEID | random [MIN_SCORE] }" "quote":"help":"stat":_ -> do answerMsg msg "quote stat" answerMsg msg " Compute statistics about the quote database : Most quoters, most quoted " - "quote":"help":[] -> do - answerMsg msg $ concat [ "Usage: quote { [quick] QUOTEE [QUOTE] | append QUOTEID QUOTEE QUOTE | " - , "delete QUOTEID [ELTID] | show { QUOTEID | random [MIN_SCORE] } | stat }" ] + "quote":"help":[] -> + answerMsg msg $ "Usage: quote { [quick] QUOTEE [QUOTE] | append [QUOTEID] QUOTEE QUOTE | " + ++ "delete QUOTEID [ELTID] | show { QUOTEID | random [MIN_SCORE] } | stat }" "quote":"help":_ -> answerMsg msg "Invalid help topic." "quote":_ -> answerMsg msg "Invalid quote command." "vote":"help":"quick":_ -> do answerMsg msg "vote [quick] [QUOTEID] { +1 | -1 | ++ | -- }" - answerMsg msg $ concat [ " Vote for a quote. You can also vote for the last active quote on this chan " - , "by typing something that begins by +1, -1 or ++ or --." ] + answerMsg msg $ " Vote for a quote. You can also vote for the last active quote on this chan " + ++ "by typing something that begins by +1, -1 or ++ or --." "vote":"help":[] -> answerMsg msg "Usage: vote { [quick] [QUOTEID] { +1 | -1 } | show [QUOTEID] | stat }" "vote":"help":_ -> answerMsg msg "Invalid help topic." "vote":_ -> answerMsg msg "Invalid vote command." diff --git a/Hsbot/Utils.hs b/Hsbot/Utils.hs index 2ea1a49..821f610 100644 --- a/Hsbot/Utils.hs +++ b/Hsbot/Utils.hs @@ -39,7 +39,7 @@ setGlobalQuitMVar status = do -- Access rights hasAccess :: Maybe IRC.Prefix -> AccessRight -> Env IO Bool hasAccess Nothing _ = return False -hasAccess (Just mask) right = do +hasAccess (Just mask) right = asks envBotState >>= liftIO . readMVar >>= evalStateT (fmap (any accessMatch) (gets botAccess)) where accessMatch :: AccessList -> Bool |