diff options
| author | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-05-15 16:49:57 +0000 |
|---|---|---|
| committer | pb <pb@9f8f72e9-4bf4-416e-b76e-7d4203597157> | 2010-05-15 16:49:57 +0000 |
| commit | 502eae3f286cca6a1843ed795ec20fbc3abccc5d (patch) | |
| tree | 77825cba7281516d2bcf7f38e0cb0aa70652dec9 | |
| parent | ad2e856414300fafee5ab4afd4f2356b0c2fd159 (diff) | |
added the stateUpdateUser function to State.hs
git-svn-id: https://ssl.buetow.org/repos/hsbot/trunk@60 9f8f72e9-4bf4-416e-b76e-7d4203597157
| -rw-r--r-- | HsBot/Base/State.hs | 5 | ||||
| -rw-r--r-- | HsBot/Callbacks/MessageCounter.hs | 7 |
2 files changed, 8 insertions, 4 deletions
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) |
