diff options
author | Julien Dessaux | 2010-04-21 22:39:03 +0200 |
---|---|---|
committer | Julien Dessaux | 2010-04-21 22:39:03 +0200 |
commit | 8551832bd29508f36b6820e19d4af0525b1cba50 (patch) | |
tree | 2a99933414aee751f3843be901940ab44dd4189e /Hsbot | |
parent | Removed all the dynamic module loading stuff. (diff) | |
download | hsbot-8551832bd29508f36b6820e19d4af0525b1cba50.tar.gz hsbot-8551832bd29508f36b6820e19d4af0525b1cba50.tar.bz2 hsbot-8551832bd29508f36b6820e19d4af0525b1cba50.zip |
Add the IrcMsg as an optional parameter for an internal command.
Diffstat (limited to 'Hsbot')
-rw-r--r-- | Hsbot/Command.hs | 2 | ||||
-rw-r--r-- | Hsbot/IRCPlugin.hs | 2 | ||||
-rw-r--r-- | Hsbot/Types.hs | 9 |
3 files changed, 7 insertions, 6 deletions
diff --git a/Hsbot/Command.hs b/Hsbot/Command.hs index f42db98..1eaee82 100644 --- a/Hsbot/Command.hs +++ b/Hsbot/Command.hs @@ -56,7 +56,7 @@ dispatchMessage (InputMsg inputMsg) = do , (head getMsgContent) == (commandPrefix config) ] sendRunCommand :: String -> Plugin -> IrcBot () sendRunCommand cmd plugin = do - sendToPlugin (InternalCmd $ IntCmd "RUN" "CORE" (pluginName plugin) cmd) plugin + sendToPlugin (InternalCmd $ IntCmd "RUN" "CORE" (pluginName plugin) cmd (Just inputMsg)) plugin getMsgContent :: String getMsgContent = unwords . tail $ parameters inputMsg dispatchMessage _ = return () diff --git a/Hsbot/IRCPlugin.hs b/Hsbot/IRCPlugin.hs index d4dcb82..568eb1d 100644 --- a/Hsbot/IRCPlugin.hs +++ b/Hsbot/IRCPlugin.hs @@ -28,7 +28,7 @@ sendCommand :: String -> String -> String -> IrcPlugin () sendCommand cmd to params = do serverChan <- gets instanceServerChan from <- gets instanceName - liftIO $ writeChan serverChan $ InternalCmd $ IntCmd cmd from to params + liftIO $ writeChan serverChan $ InternalCmd $ IntCmd cmd from to params Nothing sendRegisterCommand :: String -> IrcPlugin () sendRegisterCommand cmd = sendCommand "REGISTER" "CORE" cmd diff --git a/Hsbot/Types.hs b/Hsbot/Types.hs index 6b85af5..436bbdf 100644 --- a/Hsbot/Types.hs +++ b/Hsbot/Types.hs @@ -90,10 +90,11 @@ data IrcMsg = IrcMsg -- | An internal command data IntCmd = IntCmd - { intCmdCmd :: String -- the internal command - , intCmdFrom :: String -- who issues it - , intCmdTo :: String -- who it is destinated to - , intCmdMsg :: String -- the IrcMsg associated with the command + { intCmdCmd :: String -- the internal command + , intCmdFrom :: String -- who issues it + , intCmdTo :: String -- who it is destinated to + , intCmdMsg :: String -- the message to be transfered + , intCmdBotMsg :: Maybe IrcMsg -- An IrcMsg attached to the command } deriving (Show) data BotMsg = InputMsg IrcMsg | OutputMsg IrcMsg | InternalCmd IntCmd deriving (Show) |