{-# LANGUAGE LambdaCase #-}
module Main (main) where
import Control.Monad (forever, when)
import SignalDBus
reactWithSkull :: Timestamp -> String -> Maybe Group -> SignalConn -> IO Timestamp
reactWithSkull ts n mayG sc =
case mayG of
Nothing -> sendMessageReaction "๐" False n ts n sc
Just g -> sendGroupMessageReaction "๐" False n ts g sc
-- react with ๐ to every message received by a specific user
main :: IO ()
main = do
let targetNumber = "[insert phone number with country code]"
withConn $ \sc -> do
myNumber <- getSelfNumber sc
putStrLn $ "Running on: " ++ show myNumber
withReceiveMessages sc $ \getMsg -> forever $ do
getMsg >>= \case
Message ts n g _ _ -> when (n == targetNumber) $ do
reactWithSkull ts targetNumber g sc
return ()
_ -> return ()
return ()