From 8551832bd29508f36b6820e19d4af0525b1cba50 Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Wed, 21 Apr 2010 22:39:03 +0200 Subject: Add the IrcMsg as an optional parameter for an internal command. --- Hsbot/Command.hs | 2 +- Hsbot/IRCPlugin.hs | 2 +- Hsbot/Types.hs | 9 +++++---- 3 files changed, 7 insertions(+), 6 deletions(-) (limited to 'Hsbot') 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) -- cgit v1.2.3