From 502eae3f286cca6a1843ed795ec20fbc3abccc5d Mon Sep 17 00:00:00 2001 From: pb Date: Sat, 15 May 2010 16:49:57 +0000 Subject: added the stateUpdateUser function to State.hs git-svn-id: https://ssl.buetow.org/repos/hsbot/trunk@60 9f8f72e9-4bf4-416e-b76e-7d4203597157 --- HsBot/Base/State.hs | 5 +++++ HsBot/Callbacks/MessageCounter.hs | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'HsBot') diff --git a/HsBot/Base/State.hs b/HsBot/Base/State.hs index 10395bb..9c38e42 100644 --- a/HsBot/Base/State.hs +++ b/HsBot/Base/State.hs @@ -33,6 +33,11 @@ stateNumUsers state = length $ users state stateSortedUsers :: State -> [User] stateSortedUsers state = sort $ users state +stateUpdateUser :: State -> String -> (User -> User) -> State +stateUpdateUser state name update = + let updatedUsers = usersUpdate name (users state) update + in state { users = updatedUsers } + stateLoad :: String -> IO State stateLoad databaseFile = do file <- readFile databaseFile diff --git a/HsBot/Callbacks/MessageCounter.hs b/HsBot/Callbacks/MessageCounter.hs index 2b5482e..1f12e62 100644 --- a/HsBot/Callbacks/MessageCounter.hs +++ b/HsBot/Callbacks/MessageCounter.hs @@ -5,9 +5,8 @@ import HsBot.Base.State import HsBot.IRC.User +update user = user { userMessages = 1 + userMessages user } + messageCounter :: String -> SendMessage -> Env -> IO Env messageCounter str sendMessage (Env state conf) = do - return (Env state { users = users' } conf) - where - update user = user { userMessages = 1 + userMessages user } - users' = usersUpdate (currentSender state) (users state) update + return (Env (stateUpdateUser state (currentSender state) update) conf) -- cgit v1.2.3